WebCore/page/DOMWindow.idl
changeset 0 4f2f89ce4247
equal deleted inserted replaced
-1:000000000000 0:4f2f89ce4247
       
     1 /*
       
     2  * Copyright (C) 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
       
     3  *
       
     4  * Redistribution and use in source and binary forms, with or without
       
     5  * modification, are permitted provided that the following conditions
       
     6  * are met:
       
     7  * 1. Redistributions of source code must retain the above copyright
       
     8  *    notice, this list of conditions and the following disclaimer.
       
     9  * 2. Redistributions in binary form must reproduce the above copyright
       
    10  *    notice, this list of conditions and the following disclaimer in the
       
    11  *    documentation and/or other materials provided with the distribution.
       
    12  *
       
    13  * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
       
    14  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
       
    15  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
       
    16  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
       
    17  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
       
    18  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
       
    19  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
       
    20  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
       
    21  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
       
    22  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
       
    23  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
       
    24  */
       
    25 
       
    26 module window {
       
    27 
       
    28     interface [
       
    29         CheckDomainSecurity,
       
    30         CustomDefineGetter,
       
    31         CustomDefineSetter,
       
    32         CustomDeleteProperty,
       
    33         CustomGetOwnPropertySlot,
       
    34         CustomGetPropertyNames,
       
    35         CustomLookupGetter,
       
    36         CustomLookupSetter,
       
    37         CustomMarkFunction,
       
    38         CustomNativeConverter,
       
    39         CustomPutFunction,
       
    40         EventTarget,
       
    41         OmitConstructor,
       
    42         ExtendsDOMGlobalObject,
       
    43         GenerateNativeConverter,
       
    44         LegacyParent=JSDOMWindowBase
       
    45     ] DOMWindow {
       
    46         // DOM Level 0
       
    47         readonly attribute Screen screen;
       
    48         readonly attribute [DoNotCheckDomainSecurity, JSCCustomGetter] History history;
       
    49         attribute [Replaceable] BarInfo locationbar;
       
    50         attribute [Replaceable] BarInfo menubar;
       
    51         attribute [Replaceable] BarInfo personalbar;
       
    52         attribute [Replaceable] BarInfo scrollbars;
       
    53         attribute [Replaceable] BarInfo statusbar;
       
    54         attribute [Replaceable] BarInfo toolbar;
       
    55         attribute [Replaceable] Navigator navigator;
       
    56         attribute [Replaceable] Navigator clientInformation;
       
    57         attribute [DoNotCheckDomainSecurity, JSCCustom, V8CustomSetter, V8DisallowShadowing, CPPCustom] Location location;
       
    58 
       
    59         attribute [Replaceable, CustomGetter, V8CustomSetter] Event event;
       
    60 
       
    61         readonly attribute [Custom] Crypto crypto;
       
    62 
       
    63         DOMSelection getSelection();
       
    64 
       
    65         readonly attribute [CheckNodeSecurity] Element frameElement;
       
    66 
       
    67         [DoNotCheckDomainSecurity] void focus();
       
    68         [DoNotCheckDomainSecurity] void blur();
       
    69         [DoNotCheckDomainSecurity] void close();
       
    70 
       
    71         void print();
       
    72         void stop();
       
    73 
       
    74         [Custom] DOMWindow open(in DOMString url,
       
    75                                 in DOMString name,
       
    76                                 in [Optional] DOMString options);
       
    77 
       
    78         [Custom] DOMObject showModalDialog(in DOMString url,
       
    79                                            in [Optional] DOMObject dialogArgs,
       
    80                                            in [Optional] DOMString featureArgs);
       
    81 
       
    82         void alert(in DOMString message);
       
    83         boolean confirm(in DOMString message);
       
    84         [ConvertNullStringTo=Null] DOMString prompt(in DOMString message,
       
    85                                                     in [ConvertUndefinedOrNullToNullString] DOMString defaultValue);
       
    86 
       
    87         boolean find(in DOMString string,
       
    88                      in boolean caseSensitive,
       
    89                      in boolean backwards,
       
    90                      in boolean wrap,
       
    91                      in boolean wholeWord,
       
    92                      in boolean searchInFrames,
       
    93                      in boolean showDialog);
       
    94 
       
    95         attribute [Replaceable] boolean offscreenBuffering;
       
    96 
       
    97         attribute [Replaceable] long outerHeight;
       
    98         attribute [Replaceable] long outerWidth;
       
    99         attribute [Replaceable] long innerHeight;
       
   100         attribute [Replaceable] long innerWidth;
       
   101         attribute [Replaceable] long screenX;
       
   102         attribute [Replaceable] long screenY;
       
   103         attribute [Replaceable] long screenLeft;
       
   104         attribute [Replaceable] long screenTop;
       
   105         attribute [Replaceable] long scrollX;
       
   106         attribute [Replaceable] long scrollY;
       
   107         readonly attribute long pageXOffset;
       
   108         readonly attribute long pageYOffset;
       
   109 
       
   110         [RequiresAllArguments] void scrollBy(in long x, in long y);
       
   111         [RequiresAllArguments] void scrollTo(in long x, in long y);
       
   112         [RequiresAllArguments] void scroll(in long x, in long y);
       
   113         [RequiresAllArguments] void moveBy(in float x, in float y); // FIXME: this should take longs not floats.
       
   114         [RequiresAllArguments] void moveTo(in float x, in float y); // FIXME: this should take longs not floats.
       
   115         [RequiresAllArguments] void resizeBy(in float x, in float y); // FIXME: this should take longs not floats.
       
   116         [RequiresAllArguments] void resizeTo(in float width, in float height); // FIXME: this should take longs not floats.
       
   117 
       
   118         readonly attribute [DoNotCheckDomainSecurity] boolean closed;
       
   119 
       
   120         attribute [Replaceable, DoNotCheckDomainSecurityOnGet] unsigned long length;
       
   121 
       
   122         attribute DOMString name;
       
   123 
       
   124         attribute DOMString status;
       
   125         attribute DOMString defaultStatus;
       
   126 #if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT
       
   127         // This attribute is an alias of defaultStatus and is necessary for legacy uses.
       
   128         attribute DOMString defaultstatus;
       
   129 #endif
       
   130 
       
   131         // Self referential attributes
       
   132         attribute [Replaceable, DoNotCheckDomainSecurityOnGet] DOMWindow self;
       
   133         readonly attribute [DoNotCheckDomainSecurity, V8DisallowShadowing] DOMWindow window;
       
   134         attribute [Replaceable, DoNotCheckDomainSecurityOnGet] DOMWindow frames;
       
   135 
       
   136         attribute [Replaceable, DoNotCheckDomainSecurityOnGet, V8CustomSetter] DOMWindow opener;
       
   137         attribute [Replaceable, DoNotCheckDomainSecurityOnGet] DOMWindow parent;
       
   138         attribute [Replaceable, DoNotCheckDomainSecurityOnGet, V8DisallowShadowing, V8ReadOnly] DOMWindow top;
       
   139 
       
   140         // DOM Level 2 AbstractView Interface
       
   141         readonly attribute Document document;
       
   142 
       
   143         // CSSOM View Module
       
   144         readonly attribute StyleMedia styleMedia;
       
   145 
       
   146         // DOM Level 2 Style Interface
       
   147         CSSStyleDeclaration getComputedStyle(in Element element,
       
   148                                              in DOMString pseudoElement);
       
   149 
       
   150         // WebKit extensions
       
   151         CSSRuleList getMatchedCSSRules(in Element element,
       
   152                                        in DOMString pseudoElement,
       
   153                                        in [Optional] boolean authorOnly);
       
   154         attribute [Replaceable] double devicePixelRatio;
       
   155         
       
   156         WebKitPoint webkitConvertPointFromPageToNode(in Node node, in WebKitPoint p);
       
   157         WebKitPoint webkitConvertPointFromNodeToPage(in Node node, in WebKitPoint p);
       
   158 
       
   159 #if defined(ENABLE_OFFLINE_WEB_APPLICATIONS) && ENABLE_OFFLINE_WEB_APPLICATIONS
       
   160         readonly attribute [EnabledAtRuntime] DOMApplicationCache applicationCache;
       
   161 #endif    
       
   162 #if defined(ENABLE_DATABASE) && ENABLE_DATABASE
       
   163         [EnabledAtRuntime, Custom] Database openDatabase(in DOMString name, in DOMString version, in DOMString displayName, in unsigned long estimatedSize, in DatabaseCallback creationCallback)
       
   164             raises(DOMException);
       
   165 #endif
       
   166 #if defined(ENABLE_DOM_STORAGE) && ENABLE_DOM_STORAGE
       
   167         readonly attribute [EnabledAtRuntime] Storage sessionStorage
       
   168             getter raises(DOMException);
       
   169         readonly attribute [EnabledAtRuntime] Storage localStorage
       
   170             getter raises(DOMException);
       
   171 #endif
       
   172 #if defined(ENABLE_NOTIFICATIONS) && ENABLE_NOTIFICATIONS
       
   173         readonly attribute [EnabledAtRuntime] NotificationCenter webkitNotifications;
       
   174 #endif
       
   175 #if defined(ENABLE_INDEXED_DATABASE) && ENABLE_INDEXED_DATABASE
       
   176         readonly attribute [EnabledAtRuntime] IndexedDatabaseRequest indexedDB;
       
   177 #endif
       
   178 
       
   179 #if defined(ENABLE_ORIENTATION_EVENTS) && ENABLE_ORIENTATION_EVENTS
       
   180         // This is the interface orientation in degrees. Some examples are:
       
   181         //  0 is straight up; -90 is when the device is rotated 90 clockwise;
       
   182         //  90 is when rotated counter clockwise.
       
   183         readonly attribute long orientation;
       
   184 #endif
       
   185 
       
   186                  attribute [Replaceable] Console console;
       
   187 
       
   188         // cross-document messaging
       
   189 #if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT
       
   190         [DoNotCheckDomainSecurity, Custom] void postMessage(in SerializedScriptValue message, in [Optional] Array messagePorts, in DOMString targetOrigin)
       
   191             raises(DOMException);
       
   192 #else
       
   193         // There's no good way to expose an array via the ObjC bindings, so for now just allow passing in a single port.
       
   194         [DoNotCheckDomainSecurity, Custom] void postMessage(in SerializedScriptValue message, in [Optional] MessagePort messagePort, in DOMString targetOrigin)
       
   195             raises(DOMException);
       
   196 #endif
       
   197 
       
   198 #if defined(ENABLE_WEB_TIMING) && ENABLE_WEB_TIMING
       
   199         // FIXME: Remove vendor prefix.
       
   200         readonly attribute Performance webkitPerformance;
       
   201 #endif
       
   202 
       
   203         // Timers
       
   204         [Custom] long setTimeout(in TimeoutHandler handler, in long timeout);
       
   205         // [Custom] long setTimeout(in TimeoutHandler handler, in long timeout, arguments...);
       
   206         // [Custom] long setTimeout(in DOMString code, in long timeout);
       
   207         void clearTimeout(in long handle);
       
   208         [Custom] long setInterval(in TimeoutHandler handler, in long timeout);
       
   209         // [Custom] long setInterval(in TimeoutHandler handler, in long timeout, arguments...);
       
   210         // [Custom] long setInterval(in DOMString code, in long timeout);
       
   211         void clearInterval(in long handle);
       
   212 
       
   213         // Base64
       
   214         DOMString atob(in [ConvertNullToNullString] DOMString string)
       
   215             raises(DOMException);
       
   216         DOMString btoa(in [ConvertNullToNullString] DOMString string)
       
   217             raises(DOMException);
       
   218 
       
   219         // Events
       
   220         attribute EventListener onabort;
       
   221         attribute EventListener onbeforeunload;
       
   222         attribute EventListener onblur;
       
   223         attribute EventListener oncanplay;
       
   224         attribute EventListener oncanplaythrough;
       
   225         attribute EventListener onchange;
       
   226         attribute EventListener onclick;
       
   227         attribute EventListener oncontextmenu;
       
   228         attribute EventListener ondblclick;
       
   229         attribute EventListener ondrag;
       
   230         attribute EventListener ondragend;
       
   231         attribute EventListener ondragenter;
       
   232         attribute EventListener ondragleave;
       
   233         attribute EventListener ondragover;
       
   234         attribute EventListener ondragstart;
       
   235         attribute EventListener ondrop;
       
   236         attribute EventListener ondurationchange;
       
   237         attribute EventListener onemptied;
       
   238         attribute EventListener onended;
       
   239         attribute EventListener onerror;
       
   240         attribute EventListener onfocus;
       
   241         attribute EventListener onhashchange;
       
   242         attribute EventListener oninput;
       
   243         attribute EventListener oninvalid;
       
   244         attribute EventListener onkeydown;
       
   245         attribute EventListener onkeypress;
       
   246         attribute EventListener onkeyup;
       
   247         attribute EventListener onload;
       
   248         attribute EventListener onloadeddata;
       
   249         attribute EventListener onloadedmetadata;
       
   250         attribute EventListener onloadstart;
       
   251         attribute EventListener onmessage;
       
   252         attribute EventListener onmousedown;
       
   253         attribute EventListener onmousemove;
       
   254         attribute EventListener onmouseout;
       
   255         attribute EventListener onmouseover;
       
   256         attribute EventListener onmouseup;
       
   257         attribute EventListener onmousewheel;
       
   258         attribute EventListener onoffline;
       
   259         attribute EventListener ononline;
       
   260         attribute EventListener onpagehide;
       
   261         attribute EventListener onpageshow;
       
   262         attribute EventListener onpause;
       
   263         attribute EventListener onplay;
       
   264         attribute EventListener onplaying;
       
   265         attribute EventListener onpopstate;
       
   266         attribute EventListener onprogress;
       
   267         attribute EventListener onratechange;
       
   268         attribute EventListener onresize;
       
   269         attribute EventListener onscroll;
       
   270         attribute EventListener onseeked;
       
   271         attribute EventListener onseeking;
       
   272         attribute EventListener onselect;
       
   273         attribute EventListener onstalled;
       
   274         attribute EventListener onstorage;
       
   275         attribute EventListener onsubmit;
       
   276         attribute EventListener onsuspend;
       
   277         attribute EventListener ontimeupdate;
       
   278         attribute EventListener onunload;
       
   279         attribute EventListener onvolumechange;
       
   280         attribute EventListener onwaiting;
       
   281 
       
   282         // Not implemented yet.
       
   283         // attribute EventListener onafterprint;
       
   284         // attribute EventListener onbeforeprint;
       
   285         // attribute EventListener onformchange;
       
   286         // attribute EventListener onforminput;
       
   287         // attribute EventListener onreadystatechange;
       
   288         // attribute EventListener onredo;
       
   289         // attribute EventListener onshow;
       
   290         // attribute EventListener onundo;
       
   291 
       
   292         // Webkit extensions
       
   293         attribute EventListener onreset;
       
   294         attribute EventListener onsearch;
       
   295         attribute EventListener onwebkitanimationend;
       
   296         attribute EventListener onwebkitanimationiteration;
       
   297         attribute EventListener onwebkitanimationstart;
       
   298         attribute EventListener onwebkittransitionend;
       
   299 #if defined(ENABLE_ORIENTATION_EVENTS) && ENABLE_ORIENTATION_EVENTS
       
   300         attribute EventListener onorientationchange;
       
   301 #endif
       
   302         attribute [Conditional=TOUCH_EVENTS,EnabledAtRuntime] EventListener ontouchstart;
       
   303         attribute [Conditional=TOUCH_EVENTS,EnabledAtRuntime] EventListener ontouchmove;
       
   304         attribute [Conditional=TOUCH_EVENTS,EnabledAtRuntime] EventListener ontouchend;
       
   305         attribute [Conditional=TOUCH_EVENTS,EnabledAtRuntime] EventListener ontouchcancel;
       
   306 
       
   307         attribute [Conditional=TRANSFORMACTION_EVENTS,EnabledAtRuntime] EventListener ontransformactionstart;
       
   308         attribute [Conditional=TRANSFORMACTION_EVENTS,EnabledAtRuntime] EventListener ontransformactionupdate;
       
   309         attribute [Conditional=TRANSFORMACTION_EVENTS,EnabledAtRuntime] EventListener ontransformactionend;
       
   310 
       
   311         attribute [Conditional=DEVICE_ORIENTATION, EnabledAtRuntime] DeviceOrientationEventConstructor DeviceOrientationEvent;
       
   312         attribute [Conditional=DEVICE_ORIENTATION, EnabledAtRuntime] EventListener ondeviceorientation;
       
   313 
       
   314         // EventTarget interface
       
   315         [Custom] void addEventListener(in DOMString type,
       
   316                                       in EventListener listener,
       
   317                                       in boolean useCapture);
       
   318         [Custom] void removeEventListener(in DOMString type,
       
   319                                           in EventListener listener,
       
   320                                           in boolean useCapture);
       
   321         boolean dispatchEvent(in Event evt)
       
   322             raises(EventException);
       
   323 
       
   324         [V8Custom=DOMWindowNOP] void captureEvents(/*in long eventFlags*/);
       
   325         [V8Custom=DOMWindowNOP] void releaseEvents(/*in long eventFlags*/);
       
   326 
       
   327 #if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT
       
   328         // Global constructors
       
   329         attribute StyleSheetConstructor StyleSheet;
       
   330         attribute CSSStyleSheetConstructor CSSStyleSheet;
       
   331 
       
   332         attribute CSSValueConstructor CSSValue;
       
   333         attribute CSSPrimitiveValueConstructor CSSPrimitiveValue;
       
   334         attribute CSSValueListConstructor CSSValueList;
       
   335         attribute WebKitCSSTransformValueConstructor WebKitCSSTransformValue;
       
   336 
       
   337         attribute CSSRuleConstructor CSSRule;
       
   338         attribute CSSCharsetRuleConstructor CSSCharsetRule;
       
   339         attribute CSSFontFaceRuleConstructor CSSFontFaceRule;
       
   340         attribute CSSImportRuleConstructor CSSImportRule;
       
   341         attribute CSSMediaRuleConstructor CSSMediaRule;
       
   342         attribute CSSPageRuleConstructor CSSPageRule;
       
   343         attribute CSSStyleRuleConstructor CSSStyleRule;
       
   344         
       
   345         attribute CSSVariablesRuleConstructor CSSVariablesRule;
       
   346         attribute CSSVariablesDeclarationConstructor CSSVariablesDeclaration;
       
   347 
       
   348         attribute CSSStyleDeclarationConstructor CSSStyleDeclaration;
       
   349         attribute MediaListConstructor MediaList;
       
   350         attribute CounterConstructor Counter;
       
   351         attribute CSSRuleListConstructor CSSRuleList;
       
   352         attribute RectConstructor Rect;
       
   353         attribute RGBColorConstructor RGBColor;
       
   354         attribute StyleSheetListConstructor StyleSheetList;
       
   355 
       
   356         // FIXME: Implement the commented-out global constructors for interfaces listed in DOM Level 3 Core specification.
       
   357         attribute DOMCoreExceptionConstructor DOMException;
       
   358         attribute DOMStringListConstructor DOMStringList;
       
   359 //        attribute NameListConstructor NameList;
       
   360 //        attribute DOMImplementationListConstructor DOMImplementationList;
       
   361 //        attribute DOMImplementationSourceConstructor DOMImplementationSource;
       
   362         attribute DOMImplementationConstructor DOMImplementation;
       
   363         attribute DocumentFragmentConstructor DocumentFragment;
       
   364         attribute DocumentConstructor Document;
       
   365         attribute NodeConstructor Node;
       
   366         attribute NodeListConstructor NodeList;
       
   367         attribute NamedNodeMapConstructor NamedNodeMap;
       
   368         attribute CharacterDataConstructor CharacterData;
       
   369         attribute AttrConstructor Attr;
       
   370         attribute ElementConstructor Element;
       
   371         attribute TextConstructor Text;
       
   372         attribute CommentConstructor Comment;
       
   373 //        attribute TypeInfoConstructor TypeInfo;
       
   374 //        attribute UserDataHandlerConstructor UserDataHandler;
       
   375 //        attribute DOMErrorConstructor DOMError;
       
   376 //        attribute DOMErrorHandlerConstructor DOMErrorHandler
       
   377 //        attribute DOMLocatorConstructor DOMLocator;
       
   378 //        attribute DOMConfigurationConstructor DOMConfiguration;
       
   379         attribute CDATASectionConstructor CDATASection;
       
   380         attribute DocumentTypeConstructor DocumentType;
       
   381         attribute NotationConstructor Notation;
       
   382         attribute EntityConstructor Entity;
       
   383         attribute EntityReferenceConstructor EntityReference;
       
   384         attribute ProcessingInstructionConstructor ProcessingInstruction;
       
   385 
       
   386         attribute HTMLDocumentConstructor HTMLDocument;
       
   387 
       
   388         attribute HTMLElementConstructor HTMLElement;
       
   389         attribute HTMLAnchorElementConstructor HTMLAnchorElement;
       
   390         attribute HTMLAppletElementConstructor HTMLAppletElement;
       
   391         attribute HTMLAreaElementConstructor HTMLAreaElement;
       
   392         attribute HTMLBRElementConstructor HTMLBRElement;
       
   393         attribute HTMLBaseElementConstructor HTMLBaseElement;
       
   394         attribute HTMLBaseFontElementConstructor HTMLBaseFontElement;
       
   395         attribute HTMLBlockquoteElementConstructor HTMLBlockquoteElement;
       
   396         attribute HTMLBodyElementConstructor HTMLBodyElement;
       
   397         attribute HTMLButtonElementConstructor HTMLButtonElement;
       
   398         attribute HTMLCanvasElementConstructor HTMLCanvasElement;
       
   399         attribute [Conditional=DATAGRID] HTMLDataGridElementConstructor HTMLDataGridElement;
       
   400         attribute [Conditional=DATAGRID] HTMLDataGridCellElementConstructor HTMLDataGridCellElement;
       
   401         attribute [Conditional=DATAGRID] HTMLDataGridColElementConstructor HTMLDataGridColElement;
       
   402         attribute HTMLDListElementConstructor HTMLDListElement;
       
   403         attribute HTMLDirectoryElementConstructor HTMLDirectoryElement;
       
   404         attribute HTMLDivElementConstructor HTMLDivElement;
       
   405         attribute HTMLEmbedElementConstructor HTMLEmbedElement;
       
   406         attribute HTMLFieldSetElementConstructor HTMLFieldSetElement;
       
   407         attribute HTMLFontElementConstructor HTMLFontElement;
       
   408         attribute HTMLFormElementConstructor HTMLFormElement;
       
   409         attribute HTMLFrameElementConstructor HTMLFrameElement;
       
   410         attribute HTMLFrameSetElementConstructor HTMLFrameSetElement;
       
   411         attribute HTMLHRElementConstructor HTMLHRElement;
       
   412         attribute HTMLHeadElementConstructor HTMLHeadElement;
       
   413         attribute HTMLHeadingElementConstructor HTMLHeadingElement;
       
   414         attribute HTMLHtmlElementConstructor HTMLHtmlElement;
       
   415         attribute HTMLIFrameElementConstructor HTMLIFrameElement;
       
   416         attribute HTMLImageElementConstructor HTMLImageElement;
       
   417         attribute HTMLInputElementConstructor HTMLInputElement;
       
   418         attribute HTMLIsIndexElementConstructor HTMLIsIndexElement;
       
   419         attribute HTMLLIElementConstructor HTMLLIElement;
       
   420         attribute HTMLLabelElementConstructor HTMLLabelElement;
       
   421         attribute HTMLLegendElementConstructor HTMLLegendElement;
       
   422         attribute HTMLLinkElementConstructor HTMLLinkElement;
       
   423         attribute HTMLMapElementConstructor HTMLMapElement;
       
   424         attribute HTMLMarqueeElementConstructor HTMLMarqueeElement;
       
   425         attribute HTMLMenuElementConstructor HTMLMenuElement;
       
   426         attribute HTMLMetaElementConstructor HTMLMetaElement;
       
   427 #if defined(ENABLE_METER_TAG) && ENABLE_METER_TAG
       
   428         attribute HTMLMeterElementConstructor HTMLMeterElement;
       
   429 #endif
       
   430         attribute HTMLModElementConstructor HTMLModElement;
       
   431         attribute HTMLOListElementConstructor HTMLOListElement;
       
   432         attribute HTMLObjectElementConstructor HTMLObjectElement;
       
   433         attribute HTMLOptGroupElementConstructor HTMLOptGroupElement;
       
   434         attribute HTMLOptionElementConstructor HTMLOptionElement;
       
   435         attribute HTMLParagraphElementConstructor HTMLParagraphElement;
       
   436         attribute HTMLParamElementConstructor HTMLParamElement;
       
   437         attribute HTMLPreElementConstructor HTMLPreElement;
       
   438 #if defined(ENABLE_PROGRESS_TAG) && ENABLE_PROGRESS_TAG
       
   439         attribute HTMLProgressElementConstructor HTMLProgressElement;
       
   440 #endif
       
   441         attribute HTMLQuoteElementConstructor HTMLQuoteElement;
       
   442         attribute HTMLScriptElementConstructor HTMLScriptElement;
       
   443         attribute HTMLSelectElementConstructor HTMLSelectElement;
       
   444         attribute HTMLStyleElementConstructor HTMLStyleElement;
       
   445         attribute HTMLTableCaptionElementConstructor HTMLTableCaptionElement;
       
   446         attribute HTMLTableCellElementConstructor HTMLTableCellElement;
       
   447         attribute HTMLTableColElementConstructor HTMLTableColElement;
       
   448         attribute HTMLTableElementConstructor HTMLTableElement;
       
   449         attribute HTMLTableRowElementConstructor HTMLTableRowElement;
       
   450         attribute HTMLTableSectionElementConstructor HTMLTableSectionElement;
       
   451         attribute HTMLTextAreaElementConstructor HTMLTextAreaElement;
       
   452         attribute HTMLTitleElementConstructor HTMLTitleElement;
       
   453         attribute HTMLUListElementConstructor HTMLUListElement;
       
   454 
       
   455         attribute HTMLCollectionConstructor HTMLCollection;
       
   456         attribute HTMLAllCollectionConstructor HTMLAllCollection;
       
   457 
       
   458         attribute [CustomGetter] HTMLImageElementConstructor Image; // Usable with new operator
       
   459         attribute [CustomGetter] HTMLOptionElementConstructor Option; // Usable with new operator
       
   460 
       
   461         attribute CanvasPatternConstructor CanvasPattern;
       
   462         attribute CanvasGradientConstructor CanvasGradient;
       
   463         attribute CanvasRenderingContext2DConstructor CanvasRenderingContext2D;
       
   464         attribute ImageDataConstructor ImageData;
       
   465         attribute [Conditional=3D_CANVAS,EnabledAtRuntime] WebGLRenderingContextConstructor WebGLRenderingContext;
       
   466         attribute TextMetricsConstructor TextMetrics;
       
   467 
       
   468 #if !defined(V8_BINDING) || !V8_BINDING
       
   469         attribute DOMStringMapConstructor DOMStringMap;
       
   470 #endif
       
   471 
       
   472         attribute [JSCCustomGetter,Conditional=3D_CANVAS,EnabledAtRuntime] ArrayBufferConstructor ArrayBuffer; // Usable with new operator
       
   473         attribute [JSCCustomGetter,Conditional=3D_CANVAS,EnabledAtRuntime] Int8ArrayConstructor Int8Array; // Usable with new operator
       
   474         attribute [JSCCustomGetter,Conditional=3D_CANVAS,EnabledAtRuntime] Uint8ArrayConstructor Uint8Array; // Usable with new operator
       
   475         attribute [JSCCustomGetter,Conditional=3D_CANVAS,EnabledAtRuntime] Int16ArrayConstructor Int16Array; // Usable with new operator
       
   476         attribute [JSCCustomGetter,Conditional=3D_CANVAS,EnabledAtRuntime] Uint16ArrayConstructor Uint16Array; // Usable with new operator
       
   477         attribute [JSCCustomGetter,Conditional=3D_CANVAS,EnabledAtRuntime] Int32ArrayConstructor Int32Array; // Usable with new operator
       
   478         attribute [JSCCustomGetter,Conditional=3D_CANVAS,EnabledAtRuntime] Uint32ArrayConstructor Uint32Array; // Usable with new operator
       
   479         attribute [JSCCustomGetter,Conditional=3D_CANVAS,EnabledAtRuntime] Float32ArrayConstructor Float32Array; // Usable with new operator
       
   480 
       
   481         // Temporary aliases to keep current WebGL content working during transition period to TypedArray spec.
       
   482         // To be removed before WebGL spec is finalized. (FIXME)
       
   483         attribute [CustomGetter,Conditional=3D_CANVAS,EnabledAtRuntime] ArrayBufferConstructor WebGLArrayBuffer; // Usable with new operator
       
   484         attribute [CustomGetter,Conditional=3D_CANVAS,EnabledAtRuntime] Int8ArrayConstructor WebGLByteArray; // Usable with new operator
       
   485         attribute [CustomGetter,Conditional=3D_CANVAS,EnabledAtRuntime] Uint8ArrayConstructor WebGLUnsignedByteArray; // Usable with new operator
       
   486         attribute [CustomGetter,Conditional=3D_CANVAS,EnabledAtRuntime] Int16ArrayConstructor WebGLShortArray; // Usable with new operator
       
   487         attribute [CustomGetter,Conditional=3D_CANVAS,EnabledAtRuntime] Uint16ArrayConstructor WebGLUnsignedShortArray; // Usable with new operator
       
   488         attribute [CustomGetter,Conditional=3D_CANVAS,EnabledAtRuntime] Int32ArrayConstructor WebGLIntArray; // Usable with new operator
       
   489         attribute [CustomGetter,Conditional=3D_CANVAS,EnabledAtRuntime] Uint32ArrayConstructor WebGLUnsignedIntArray; // Usable with new operator
       
   490         attribute [CustomGetter,Conditional=3D_CANVAS,EnabledAtRuntime] Float32ArrayConstructor WebGLFloatArray; // Usable with new operator
       
   491 
       
   492         attribute EventConstructor Event;
       
   493         attribute BeforeLoadEventConstructor BeforeLoadEvent;
       
   494         attribute KeyboardEventConstructor KeyboardEvent;
       
   495         attribute MouseEventConstructor MouseEvent;
       
   496         attribute MutationEventConstructor MutationEvent;
       
   497         attribute OverflowEventConstructor OverflowEvent;
       
   498         attribute PageTransitionEventConstructor PageTransitionEvent;
       
   499         attribute ProgressEventConstructor ProgressEvent;
       
   500         attribute TextEventConstructor TextEvent;
       
   501         attribute UIEventConstructor UIEvent;
       
   502         attribute WebKitAnimationEventConstructor WebKitAnimationEvent;
       
   503         attribute WebKitTransitionEventConstructor WebKitTransitionEvent;
       
   504         attribute WheelEventConstructor WheelEvent;
       
   505         attribute MessageEventConstructor MessageEvent;
       
   506         attribute EventExceptionConstructor EventException;
       
   507 
       
   508         attribute WebKitCSSKeyframeRuleConstructor WebKitCSSKeyframeRule;
       
   509         attribute WebKitCSSKeyframesRuleConstructor WebKitCSSKeyframesRule;
       
   510 
       
   511         attribute [JSCCustomGetter] WebKitCSSMatrixConstructor WebKitCSSMatrix; // Usable with the new operator
       
   512 
       
   513         attribute [JSCCustomGetter] WebKitPointConstructor WebKitPoint; // Usable with new the operator
       
   514 
       
   515         attribute ClipboardConstructor Clipboard;
       
   516 
       
   517         attribute FileConstructor File;
       
   518         attribute FileListConstructor FileList;
       
   519         attribute BlobConstructor Blob;
       
   520 
       
   521         attribute NodeFilterConstructor NodeFilter;
       
   522         attribute RangeConstructor Range;
       
   523         attribute RangeExceptionConstructor RangeException;
       
   524 
       
   525 #if ENABLE_EVENTSOURCE
       
   526         attribute [JSCCustomGetter] EventSourceConstructor EventSource; // Usable with new the operator
       
   527 #endif
       
   528 
       
   529         // Mozilla has a separate XMLDocument object for XML documents. 
       
   530         // We just use Document for this.
       
   531         attribute DocumentConstructor XMLDocument;
       
   532 
       
   533         attribute DOMParserConstructor DOMParser;
       
   534         attribute XMLSerializerConstructor XMLSerializer;
       
   535 
       
   536         attribute [JSCCustomGetter] XMLHttpRequestConstructor XMLHttpRequest; // Usable with the new operator
       
   537         attribute XMLHttpRequestUploadConstructor XMLHttpRequestUpload;
       
   538         attribute XMLHttpRequestExceptionConstructor XMLHttpRequestException;
       
   539 
       
   540         attribute [JSCCustomGetter,Conditional=XSLT] XSLTProcessorConstructor XSLTProcessor; // Usable with the new operator
       
   541 
       
   542 #if defined(ENABLE_CHANNEL_MESSAGING) && ENABLE_CHANNEL_MESSAGING
       
   543         attribute MessagePortConstructor MessagePort;
       
   544         attribute [JSCCustomGetter] MessageChannelConstructor MessageChannel; // Usable with the new operator
       
   545 #endif
       
   546 
       
   547 #if defined(ENABLE_WORKERS) && ENABLE_WORKERS
       
   548         attribute [JSCCustomGetter] WorkerConstructor Worker; // Usable with the new operator
       
   549 #endif
       
   550 
       
   551 #if defined(ENABLE_SHARED_WORKERS) && ENABLE_SHARED_WORKERS
       
   552         attribute [JSCCustomGetter, EnabledAtRuntime] SharedWorkerConstructor SharedWorker; // Usable with the new operator
       
   553 #endif
       
   554 
       
   555 #if defined(ENABLE_WEB_SOCKETS) && ENABLE_WEB_SOCKETS
       
   556         attribute [JSCCustomGetter,EnabledAtRuntime] WebSocketConstructor WebSocket; // Usable with the new operator
       
   557 #endif
       
   558 
       
   559         attribute DOMPluginConstructor Plugin;
       
   560         attribute DOMPluginArrayConstructor PluginArray;
       
   561 
       
   562         attribute DOMMimeTypeConstructor MimeType;
       
   563         attribute DOMMimeTypeArrayConstructor MimeTypeArray;
       
   564 
       
   565         attribute ClientRectConstructor ClientRect;
       
   566         attribute ClientRectListConstructor ClientRectList;
       
   567 
       
   568 #if defined(ENABLE_DOM_STORAGE) && ENABLE_DOM_STORAGE
       
   569         attribute StorageConstructor Storage;
       
   570         attribute StorageEventConstructor StorageEvent;
       
   571 #endif
       
   572 
       
   573         attribute [CustomGetter, Conditional=VIDEO, EnabledAtRuntime] HTMLAudioElementConstructor Audio; // Usable with the new operator
       
   574         attribute [Conditional=VIDEO, EnabledAtRuntime] HTMLAudioElementConstructor HTMLAudioElement;
       
   575         attribute [Conditional=VIDEO, EnabledAtRuntime] HTMLMediaElementConstructor HTMLMediaElement;
       
   576         attribute [Conditional=VIDEO, EnabledAtRuntime] HTMLVideoElementConstructor HTMLVideoElement;
       
   577         attribute [Conditional=VIDEO, EnabledAtRuntime] MediaErrorConstructor MediaError;
       
   578         attribute [Conditional=VIDEO, EnabledAtRuntime] TimeRangesConstructor TimeRanges;
       
   579 
       
   580 #if defined(ENABLE_XPATH) && ENABLE_XPATH
       
   581         attribute XPathEvaluatorConstructor XPathEvaluator;
       
   582         attribute XPathResultConstructor XPathResult;
       
   583         attribute XPathExceptionConstructor XPathException;
       
   584 #endif
       
   585 
       
   586 #if defined(ENABLE_SVG) && ENABLE_SVG
       
   587         // Expose all implemented SVG 1.1 interfaces, excluding the SVG MI interfaces:
       
   588         // SVGAnimatedPathData, SVGAnimatedPoints, SVGExternalResourcesRequired,
       
   589         // SVGFilterPrimitiveStandardAttributes, SVGFitToViewBox, SVGLangSpace, SVGLocatable
       
   590         // SVGStylable, SVGTests, SVGTransformable, SVGURIReference, SVGZoomAndPan
       
   591         attribute SVGAElementConstructor SVGAElement;
       
   592         attribute SVGAngleConstructor SVGAngle;
       
   593         attribute SVGAnimatedAngleConstructor SVGAnimatedAngle;
       
   594         attribute SVGAnimatedBooleanConstructor SVGAnimatedBoolean;
       
   595         attribute SVGAnimatedEnumerationConstructor SVGAnimatedEnumeration;
       
   596         attribute SVGAnimatedIntegerConstructor SVGAnimatedInteger;
       
   597         attribute SVGAnimatedLengthConstructor SVGAnimatedLength;
       
   598         attribute SVGAnimatedLengthListConstructor SVGAnimatedLengthList;
       
   599         attribute SVGAnimatedNumberConstructor SVGAnimatedNumber;
       
   600         attribute SVGAnimatedNumberListConstructor SVGAnimatedNumberList;
       
   601         attribute SVGAnimatedPreserveAspectRatioConstructor SVGAnimatedPreserveAspectRatio;
       
   602         attribute SVGAnimatedRectConstructor SVGAnimatedRect;
       
   603         attribute SVGAnimatedStringConstructor SVGAnimatedString;
       
   604         attribute SVGAnimatedTransformListConstructor SVGAnimatedTransformList;
       
   605         attribute SVGCircleElementConstructor SVGCircleElement;
       
   606         attribute SVGClipPathElementConstructor SVGClipPathElement;
       
   607         attribute SVGColorConstructor SVGColor;
       
   608         attribute SVGCursorElementConstructor SVGCursorElement;
       
   609 //      attribute SVGCSSRuleConstructor SVGCSSRule;
       
   610         attribute SVGDefsElementConstructor SVGDefsElement;
       
   611         attribute SVGDescElementConstructor SVGDescElement;
       
   612         attribute SVGDocumentConstructor SVGDocument;
       
   613         attribute SVGElementConstructor SVGElement;
       
   614         attribute SVGElementInstanceConstructor SVGElementInstance;
       
   615         attribute SVGElementInstanceListConstructor SVGElementInstanceList;
       
   616         attribute SVGEllipseElementConstructor SVGEllipseElement;
       
   617         attribute SVGExceptionConstructor SVGException;
       
   618         attribute SVGGElementConstructor SVGGElement;
       
   619         attribute SVGGradientElementConstructor SVGGradientElement;
       
   620         attribute SVGImageElementConstructor SVGImageElement;
       
   621         attribute SVGLengthConstructor SVGLength;
       
   622         attribute SVGLengthListConstructor SVGLengthList;
       
   623         attribute SVGLinearGradientElementConstructor SVGLinearGradientElement;
       
   624         attribute SVGLineElementConstructor SVGLineElement;
       
   625         attribute SVGMarkerElementConstructor SVGMarkerElement;
       
   626         attribute SVGMaskElementConstructor SVGMaskElement;
       
   627         attribute SVGMatrixConstructor SVGMatrix;
       
   628         attribute SVGMetadataElementConstructor SVGMetadataElement;
       
   629         attribute SVGNumberConstructor SVGNumber;
       
   630         attribute SVGNumberListConstructor SVGNumberList;
       
   631         attribute SVGPaintConstructor SVGPaint;
       
   632         attribute SVGPathElementConstructor SVGPathElement;
       
   633         attribute SVGPathSegConstructor SVGPathSeg;
       
   634         attribute SVGPathSegArcAbsConstructor SVGPathSegArcAbs;
       
   635         attribute SVGPathSegArcRelConstructor SVGPathSegArcRel;
       
   636         attribute SVGPathSegClosePathConstructor SVGPathSegClosePath;
       
   637         attribute SVGPathSegCurvetoCubicAbsConstructor SVGPathSegCurvetoCubicAbs;
       
   638         attribute SVGPathSegCurvetoCubicRelConstructor SVGPathSegCurvetoCubicRel;
       
   639         attribute SVGPathSegCurvetoCubicSmoothAbsConstructor SVGPathSegCurvetoCubicSmoothAbs;
       
   640         attribute SVGPathSegCurvetoCubicSmoothRelConstructor SVGPathSegCurvetoCubicSmoothRel;
       
   641         attribute SVGPathSegCurvetoQuadraticAbsConstructor SVGPathSegCurvetoQuadraticAbs;
       
   642         attribute SVGPathSegCurvetoQuadraticRelConstructor SVGPathSegCurvetoQuadraticRel;
       
   643         attribute SVGPathSegCurvetoQuadraticSmoothAbsConstructor SVGPathSegCurvetoQuadraticSmoothAbs;
       
   644         attribute SVGPathSegCurvetoQuadraticSmoothRelConstructor SVGPathSegCurvetoQuadraticSmoothRel;
       
   645         attribute SVGPathSegLinetoAbsConstructor SVGPathSegLinetoAbs;
       
   646         attribute SVGPathSegLinetoHorizontalAbsConstructor SVGPathSegLinetoHorizontalAbs;
       
   647         attribute SVGPathSegLinetoHorizontalRelConstructor SVGPathSegLinetoHorizontalRel;
       
   648         attribute SVGPathSegLinetoRelConstructor SVGPathSegLinetoRel;
       
   649         attribute SVGPathSegLinetoVerticalAbsConstructor SVGPathSegLinetoVerticalAbs;
       
   650         attribute SVGPathSegLinetoVerticalRelConstructor SVGPathSegLinetoVerticalRel;
       
   651         attribute SVGPathSegListConstructor SVGPathSegList;
       
   652         attribute SVGPathSegMovetoAbsConstructor SVGPathSegMovetoAbs;
       
   653         attribute SVGPathSegMovetoRelConstructor SVGPathSegMovetoRel;
       
   654         attribute SVGPatternElementConstructor SVGPatternElement;
       
   655         attribute SVGPointConstructor SVGPoint;
       
   656         attribute SVGPointListConstructor SVGPointList;
       
   657         attribute SVGPolygonElementConstructor SVGPolygonElement;
       
   658         attribute SVGPolylineElementConstructor SVGPolylineElement;
       
   659         attribute SVGPreserveAspectRatioConstructor SVGPreserveAspectRatio;
       
   660         attribute SVGRadialGradientElementConstructor SVGRadialGradientElement;
       
   661         attribute SVGRectConstructor SVGRect;
       
   662         attribute SVGRectElementConstructor SVGRectElement;
       
   663         attribute SVGRenderingIntentConstructor SVGRenderingIntent;
       
   664         attribute SVGScriptElementConstructor SVGScriptElement;
       
   665         attribute SVGStopElementConstructor SVGStopElement;
       
   666         attribute SVGStringListConstructor SVGStringList;
       
   667         attribute SVGStyleElementConstructor SVGStyleElement;
       
   668         attribute SVGSVGElementConstructor SVGSVGElement;
       
   669         attribute SVGSwitchElementConstructor SVGSwitchElement;
       
   670         attribute SVGSymbolElementConstructor SVGSymbolElement;
       
   671         attribute SVGTextContentElementConstructor SVGTextContentElement;
       
   672         attribute SVGTextElementConstructor SVGTextElement;
       
   673         attribute SVGTextPathElementConstructor SVGTextPathElement;
       
   674         attribute SVGTextPositioningElementConstructor SVGTextPositioningElement;
       
   675         attribute SVGTitleElementConstructor SVGTitleElement;
       
   676         attribute SVGTransformConstructor SVGTransform;
       
   677         attribute SVGTransformListConstructor SVGTransformList;
       
   678         attribute SVGTRefElementConstructor SVGTRefElement;
       
   679         attribute SVGTSpanElementConstructor SVGTSpanElement;
       
   680         attribute SVGUnitTypesConstructor SVGUnitTypes;
       
   681         attribute SVGUseElementConstructor SVGUseElement;
       
   682         attribute SVGViewElementConstructor SVGViewElement;
       
   683 //      attribute SVGViewSpecConstructor SVGViewSpec;
       
   684         attribute SVGZoomEventConstructor SVGZoomEvent;
       
   685 
       
   686 #if defined(ENABLE_SVG_ANIMATION) && ENABLE_SVG_ANIMATION
       
   687         attribute SVGAnimateColorElementConstructor SVGAnimateColorElement;
       
   688         attribute SVGAnimateElementConstructor SVGAnimateElement;
       
   689 //      attribute SVGAnimateMotionElementConstructor SVGAnimateMotionElement;
       
   690         attribute SVGAnimateTransformElementConstructor SVGAnimateTransformElement;
       
   691 //      attribute SVGMPathElementConstructor SVGMPathElement;
       
   692         attribute SVGSetElementConstructor SVGSetElement;
       
   693 #endif
       
   694 
       
   695 #if ENABLE_SVG_FONTS && ENABLE_SVG_FONTS
       
   696 //      attribute SVGAltGlyphDefElementConstructor SVGAltGlyphDefElement;
       
   697         attribute SVGAltGlyphElementConstructor SVGAltGlyphElement;
       
   698 //      attribute SVGAltGlyphItemElementConstructor SVGAltGlyphItemElement;
       
   699 //      attribute SVGDefinitionSrcElementConstructor SVGDefinitionSrcElement;
       
   700         attribute SVGFontElementConstructor SVGFontElement;
       
   701         attribute SVGFontFaceElementConstructor SVGFontFaceElement;
       
   702         attribute SVGFontFaceFormatElementConstructor SVGFontFaceFormatElement;
       
   703         attribute SVGFontFaceNameElementConstructor SVGFontFaceNameElement;
       
   704         attribute SVGFontFaceSrcElementConstructor SVGFontFaceSrcElement;
       
   705         attribute SVGFontFaceUriElementConstructor SVGFontFaceUriElement;
       
   706         attribute SVGGlyphElementConstructor SVGGlyphElement;
       
   707 //      attribute SVGGlyphRefElementConstructor SVGGlyphRefElement;
       
   708         attribute SVGHKernElementConstructor SVGHKernElement;
       
   709         attribute SVGMissingGlyphElementConstructor SVGMissingGlyphElement;
       
   710         attribute SVGVKernElementConstructor SVGVKernElement;
       
   711 #endif
       
   712 
       
   713 #if defined(ENABLE_SVG_FOREIGN_OBJECT) && ENABLE_SVG_FOREIGN_OBJECT
       
   714         attribute SVGForeignObjectElementConstructor SVGForeignObjectElement;
       
   715 #endif
       
   716 
       
   717 #if defined(ENABLE_FILTERS) && ENABLE_FILTERS
       
   718         attribute SVGComponentTransferFunctionElementConstructor SVGComponentTransferFunctionElement;
       
   719         attribute SVGFEBlendElementConstructor SVGFEBlendElement;
       
   720         attribute SVGFEColorMatrixElementConstructor SVGFEColorMatrixElement;
       
   721         attribute SVGFEComponentTransferElementConstructor SVGFEComponentTransferElement;
       
   722         attribute SVGFECompositeElementConstructor SVGFECompositeElement;
       
   723         attribute SVGFEConvolveMatrixElementConstructor SVGFEConvolveMatrixElement;
       
   724         attribute SVGFEDiffuseLightingElementConstructor SVGFEDiffuseLightingElement;
       
   725         attribute SVGFEDisplacementMapElementConstructor SVGFEDisplacementMapElement;
       
   726         attribute SVGFEDistantLightElementConstructor SVGFEDistantLightElement;
       
   727         attribute SVGFEFloodElementConstructor SVGFEFloodElement;
       
   728         attribute SVGFEFuncAElementConstructor SVGFEFuncAElement;
       
   729         attribute SVGFEFuncBElementConstructor SVGFEFuncBElement;
       
   730         attribute SVGFEFuncGElementConstructor SVGFEFuncGElement;
       
   731         attribute SVGFEFuncRElementConstructor SVGFEFuncRElement;
       
   732         attribute SVGFEGaussianBlurElementConstructor SVGFEGaussianBlurElement;
       
   733         attribute SVGFEImageElementConstructor SVGFEImageElement;
       
   734         attribute SVGFEMergeElementConstructor SVGFEMergeElement;
       
   735         attribute SVGFEMergeNodeElementConstructor SVGFEMergeNodeElement;
       
   736         attribute SVGFEMorphologyElementConstructor SVGFEMorphologyElement;
       
   737         attribute SVGFEOffsetElementConstructor SVGFEOffsetElement;
       
   738         attribute SVGFEPointLightElementConstructor SVGFEPointLightElement;
       
   739         attribute SVGFESpecularLightingElementConstructor SVGFESpecularLightingElement;
       
   740         attribute SVGFESpotLightElementConstructor SVGFESpotLightElement;
       
   741         attribute SVGFETileElementConstructor SVGFETileElement;
       
   742         attribute SVGFETurbulenceElementConstructor SVGFETurbulenceElement;
       
   743         attribute SVGFilterElementConstructor SVGFilterElement;
       
   744 #endif
       
   745 #endif
       
   746 
       
   747 #if defined(ENABLE_DATABASE)
       
   748         attribute SQLExceptionConstructor SQLException;
       
   749 #endif
       
   750 
       
   751         attribute [Conditional=TOUCH_EVENTS] TouchEventConstructor TouchEvent;
       
   752         attribute [Conditional=TRANSFORMACTION_EVENTS] TransformActionEventConstructor TransformActionEvent;
       
   753 
       
   754         attribute DOMFormDataConstructor FormData;
       
   755 
       
   756         attribute [Conditional=FILE_READER|FILE_WRITER] FileErrorConstructor FileError;
       
   757         attribute [Conditional=FILE_READER] FileReaderConstructor FileReader;
       
   758 
       
   759         attribute BlobBuilderConstructor BlobBuilder;
       
   760 
       
   761 #endif // defined(LANGUAGE_JAVASCRIPT)
       
   762 
       
   763 #if defined(V8_BINDING) && V8_BINDING
       
   764         // window.toString() requires special handling in V8
       
   765         [V8DoNotCheckSignature, DoNotCheckDomainSecurity, Custom, DontEnum] DOMString toString();
       
   766 #endif // defined(V8_BINDING)
       
   767     };
       
   768 
       
   769 }
       
   770