2 * Copyright (C) 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
3 * Copyright (C) 2011 Google Inc. All rights reserved.
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
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.
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.
31 JSCustomDefineOwnProperty,
33 CustomGetOwnPropertySlot,
34 CustomEnumerateProperty,
36 JSCustomToNativeObject,
39 ExtendsDOMGlobalObject,
40 JSGenerateToNativeObject,
41 ReplaceableConstructor,
42 JSLegacyParent=JSDOMWindowBase,
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;
60 readonly attribute Crypto crypto;
61 #if !defined(LANGUAGE_CPP) || !LANGUAGE_CPP
62 attribute [DoNotCheckSecurity, CustomSetter, V8Unforgeable] Location location;
64 attribute [Replaceable, CustomGetter, V8CustomSetter] Event event;
66 DOMSelection getSelection();
68 readonly attribute [CheckSecurityForNode] Element frameElement;
70 [DoNotCheckSecurity, CallWith=ScriptExecutionContext] void focus();
71 [DoNotCheckSecurity] void blur();
72 [DoNotCheckSecurity, CallWith=ScriptExecutionContext] void close();
77 [Custom] DOMWindow open(in DOMString url,
79 in [Optional] DOMString options);
81 [Custom] DOMObject showModalDialog(in DOMString url,
82 in [Optional] DOMObject dialogArgs,
83 in [Optional] DOMString featureArgs);
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);
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);
98 attribute [Replaceable] boolean offscreenBuffering;
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;
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.
121 readonly attribute [DoNotCheckSecurity] boolean closed;
123 attribute [Replaceable, DoNotCheckSecurityOnGetter] unsigned long length;
125 attribute DOMString name;
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;
134 // Self referential attributes
135 attribute [Replaceable, DoNotCheckSecurityOnGetter] DOMWindow self;
136 readonly attribute [DoNotCheckSecurity, V8Unforgeable] DOMWindow window;
137 attribute [Replaceable, DoNotCheckSecurityOnGetter] DOMWindow frames;
139 attribute [Replaceable, DoNotCheckSecurityOnGetter, V8CustomSetter] DOMWindow opener;
140 attribute [Replaceable, DoNotCheckSecurityOnGetter] DOMWindow parent;
141 readonly attribute [DoNotCheckSecurityOnGetter, V8Unforgeable] DOMWindow top;
143 // DOM Level 2 AbstractView Interface
144 readonly attribute Document document;
147 MediaQueryList matchMedia(in DOMString query);
149 // styleMedia has been removed from the CSSOM View specification.
150 readonly attribute StyleMedia styleMedia;
152 // DOM Level 2 Style Interface
153 CSSStyleDeclaration getComputedStyle(in [Optional=DefaultIsUndefined] Element element,
154 in [TreatNullAs=NullString, TreatUndefinedAs=NullString,Optional=DefaultIsUndefined] DOMString pseudoElement);
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);
162 attribute [Replaceable] double devicePixelRatio;
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);
169 readonly attribute [V8EnabledAtRuntime] DOMApplicationCache applicationCache;
171 readonly attribute [V8EnabledAtRuntime] Storage sessionStorage
172 getter raises(DOMException);
173 readonly attribute [V8EnabledAtRuntime] Storage localStorage
174 getter raises(DOMException);
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;
183 attribute [Replaceable] Console console;
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);
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);
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);
202 #if defined(ENABLE_WEB_TIMING) && ENABLE_WEB_TIMING
203 attribute [Replaceable] Performance performance;
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);
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.
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);
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;
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;
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;
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;
316 attribute [Conditional=DEVICE_ORIENTATION,V8EnabledAtRuntime] EventListener ondevicemotion;
317 attribute [Conditional=DEVICE_ORIENTATION,V8EnabledAtRuntime] EventListener ondeviceorientation;
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);
329 [V8Custom] void captureEvents(/*in long eventFlags*/);
330 [V8Custom] void releaseEvents(/*in long eventFlags*/);
332 #if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT
333 // Global constructors
334 attribute StyleSheetConstructor StyleSheet;
335 attribute CSSStyleSheetConstructor CSSStyleSheet;
337 attribute CSSValueConstructor CSSValue;
338 attribute CSSPrimitiveValueConstructor CSSPrimitiveValue;
339 attribute CSSValueListConstructor CSSValueList;
340 attribute WebKitCSSTransformValueConstructor WebKitCSSTransformValue;
342 #if defined(ENABLE_CSS_FILTERS) && ENABLE_CSS_FILTERS
343 attribute WebKitCSSFilterValueConstructor WebKitCSSFilterValue;
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;
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;
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;
398 attribute DOMSelectionConstructor Selection;
399 attribute DOMWindowConstructor Window;
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;
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;
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;
469 attribute HTMLCollectionConstructor HTMLCollection;
470 attribute HTMLAllCollectionConstructor HTMLAllCollection;
471 attribute [Conditional=MICRODATA] HTMLPropertiesCollectionConstructor HTMLPropertiesCollection;
472 attribute HTMLUnknownElementConstructor HTMLUnknownElement;
474 attribute [JSCustomGetter, CustomConstructor] HTMLImageElementConstructorConstructor Image; // Usable with new operator
475 attribute [JSCustomGetter] HTMLOptionElementConstructorConstructor Option; // Usable with new operator
477 attribute [Conditional=ENCRYPTED_MEDIA, V8EnabledAtRuntime=encryptedMedia] MediaKeyErrorConstructor MediaKeyError;
478 attribute [Conditional=ENCRYPTED_MEDIA, V8EnabledAtRuntime=encryptedMedia] MediaKeyEventConstructor MediaKeyEvent;
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;
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;
496 attribute [Conditional=WEB_INTENTS_TAG] HTMLIntentElementConstructor HTMLIntentElement;
498 attribute CanvasPatternConstructor CanvasPattern;
499 attribute CanvasGradientConstructor CanvasGradient;
500 attribute CanvasRenderingContext2DConstructor CanvasRenderingContext2D;
502 attribute ImageDataConstructor ImageData;
503 attribute TextMetricsConstructor TextMetrics;
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;
516 attribute DOMStringMapConstructor DOMStringMap;
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
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;
558 attribute EventExceptionConstructor EventException;
560 attribute WebKitCSSKeyframeRuleConstructor WebKitCSSKeyframeRule;
561 attribute WebKitCSSKeyframesRuleConstructor WebKitCSSKeyframesRule;
562 attribute [Conditional=CSS_REGIONS] WebKitCSSRegionRuleConstructor WebKitCSSRegionRule;
564 attribute WebKitCSSMatrixConstructor WebKitCSSMatrix; // Usable with the new operator
566 attribute WebKitPointConstructor WebKitPoint; // Usable with new the operator
568 attribute ClipboardConstructor Clipboard;
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
573 attribute FileConstructor File;
574 attribute FileListConstructor FileList;
575 attribute BlobConstructor Blob;
577 attribute NodeFilterConstructor NodeFilter;
578 attribute RangeConstructor Range;
579 attribute RangeExceptionConstructor RangeException;
581 attribute EventSourceConstructor EventSource; // Usable with new the operator
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
593 #if defined(ENABLE_CHANNEL_MESSAGING) && ENABLE_CHANNEL_MESSAGING
594 attribute MessagePortConstructor MessagePort;
595 attribute MessageChannelConstructor MessageChannel; // Usable with the new operator
598 attribute DOMPluginConstructor Plugin;
599 attribute DOMPluginArrayConstructor PluginArray;
601 attribute DOMMimeTypeConstructor MimeType;
602 attribute DOMMimeTypeArrayConstructor MimeTypeArray;
604 attribute ClientRectConstructor ClientRect;
605 attribute ClientRectListConstructor ClientRectList;
607 attribute StorageConstructor Storage;
609 #if defined(ENABLE_ANIMATION_API) && ENABLE_ANIMATION_API
610 attribute WebKitAnimationConstructor WebKitAnimation;
611 attribute WebKitAnimationListConstructor WebKitAnimationList;
614 attribute XPathEvaluatorConstructor XPathEvaluator;
615 attribute XPathResultConstructor XPathResult;
616 attribute XPathExceptionConstructor XPathException;
618 attribute [Conditional=SVG] SVGZoomEventConstructor SVGZoomEvent;
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;
721 attribute SVGAnimateColorElementConstructor SVGAnimateColorElement;
722 attribute SVGAnimateElementConstructor SVGAnimateElement;
723 attribute SVGAnimateMotionElementConstructor SVGAnimateMotionElement;
724 attribute SVGAnimateTransformElementConstructor SVGAnimateTransformElement;
725 attribute SVGMPathElementConstructor SVGMPathElement;
726 attribute SVGSetElementConstructor SVGSetElement;
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;
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;
777 attribute DOMFormDataConstructor FormData;
779 attribute [Conditional=BLOB|FILE_SYSTEM] FileErrorConstructor FileError;
780 attribute [Conditional=BLOB] FileReaderConstructor FileReader;
782 #if defined(ENABLE_TIZEN_FILE_SYSTEM)
783 attribute [Conditional=FILE_SYSTEM] FileWriterConstructor FileWriter;
786 attribute [Conditional=BLOB&LEGACY_WEBKIT_BLOB_BUILDER] WebKitBlobBuilderConstructor WebKitBlobBuilder;
788 attribute [Conditional=BLOB] DOMURLConstructor webkitURL;
790 attribute [Conditional=MUTATION_OBSERVERS] MutationObserverConstructor WebKitMutationObserver;
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;
796 #endif // defined(LANGUAGE_JAVASCRIPT)
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)