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