/* * Copyright (C) 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. * Copyright (C) 2011 Google Inc. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ [ CheckSecurity, JSCustomDefineOwnProperty, CustomDeleteProperty, CustomGetOwnPropertySlot, CustomEnumerateProperty, JSCustomMarkFunction, JSCustomToNativeObject, CustomPutFunction, EventTarget, ExtendsDOMGlobalObject, JSGenerateToNativeObject, ReplaceableConstructor, JSLegacyParent=JSDOMWindowBase, V8CustomToJSObject, V8NoWrapperCache, InterfaceName=Window ] interface DOMWindow { // DOM Level 0 [Replaceable] readonly attribute Screen screen; [Replaceable, DoNotCheckSecurityOnGetter] readonly attribute History history; [Replaceable] readonly attribute BarInfo locationbar; [Replaceable] readonly attribute BarInfo menubar; [Replaceable] readonly attribute BarInfo personalbar; [Replaceable] readonly attribute BarInfo scrollbars; [Replaceable] readonly attribute BarInfo statusbar; [Replaceable] readonly attribute BarInfo toolbar; [Replaceable] readonly attribute Navigator navigator; [Replaceable] readonly attribute Navigator clientInformation; readonly attribute Crypto crypto; #if !defined(LANGUAGE_CPP) || !LANGUAGE_CPP attribute [DoNotCheckSecurity, CustomSetter, V8Unforgeable] Location location; #endif [Replaceable, CustomGetter, V8CustomSetter] readonly attribute Event event; DOMSelection getSelection(); readonly attribute [CheckSecurityForNode] Element frameElement; [DoNotCheckSecurity, CallWith=ScriptExecutionContext] void focus(); [DoNotCheckSecurity] void blur(); [DoNotCheckSecurity, CallWith=ScriptExecutionContext] void close(); void print(); void stop(); [Custom] DOMWindow open(in DOMString url, in DOMString name, in [Optional] DOMString options); [Custom] DOMObject showModalDialog(in DOMString url, in [Optional] DOMObject dialogArgs, in [Optional] DOMString featureArgs); void alert(in [Optional=DefaultIsUndefined] DOMString message); boolean confirm(in [Optional=DefaultIsUndefined] DOMString message); [TreatReturnedNullStringAs=Null] DOMString prompt(in [Optional=DefaultIsUndefined] DOMString message, in [TreatNullAs=NullString, TreatUndefinedAs=NullString,Optional=DefaultIsUndefined] DOMString defaultValue); boolean find(in [Optional=DefaultIsUndefined] DOMString string, in [Optional=DefaultIsUndefined] boolean caseSensitive, in [Optional=DefaultIsUndefined] boolean backwards, in [Optional=DefaultIsUndefined] boolean wrap, in [Optional=DefaultIsUndefined] boolean wholeWord, in [Optional=DefaultIsUndefined] boolean searchInFrames, in [Optional=DefaultIsUndefined] boolean showDialog); [Replaceable] readonly attribute boolean offscreenBuffering; [Replaceable] readonly attribute long outerHeight; [Replaceable] readonly attribute long outerWidth; [Replaceable] readonly attribute long innerHeight; [Replaceable] readonly attribute long innerWidth; [Replaceable] readonly attribute long screenX; [Replaceable] readonly attribute long screenY; [Replaceable] readonly attribute long screenLeft; [Replaceable] readonly attribute long screenTop; [Replaceable] readonly attribute long scrollX; [Replaceable] readonly attribute long scrollY; readonly attribute long pageXOffset; readonly attribute long pageYOffset; void scrollBy(in [Optional=DefaultIsUndefined] long x, in [Optional=DefaultIsUndefined] long y); void scrollTo(in [Optional=DefaultIsUndefined] long x, in [Optional=DefaultIsUndefined] long y); void scroll(in [Optional=DefaultIsUndefined] long x, in [Optional=DefaultIsUndefined] long y); void moveBy(in [Optional=DefaultIsUndefined] float x, in [Optional=DefaultIsUndefined] float y); // FIXME: this should take longs not floats. void moveTo(in [Optional=DefaultIsUndefined] float x, in [Optional=DefaultIsUndefined] float y); // FIXME: this should take longs not floats. void resizeBy(in [Optional=DefaultIsUndefined] float x, in [Optional=DefaultIsUndefined] float y); // FIXME: this should take longs not floats. void resizeTo(in [Optional=DefaultIsUndefined] float width, in [Optional=DefaultIsUndefined] float height); // FIXME: this should take longs not floats. readonly attribute [DoNotCheckSecurity] boolean closed; [Replaceable, DoNotCheckSecurityOnGetter] readonly attribute unsigned long length; attribute DOMString name; attribute DOMString status; attribute DOMString defaultStatus; #if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT // This attribute is an alias of defaultStatus and is necessary for legacy uses. attribute DOMString defaultstatus; #endif // Self referential attributes [Replaceable, DoNotCheckSecurityOnGetter] readonly attribute DOMWindow self; [DoNotCheckSecurity, V8Unforgeable] readonly attribute DOMWindow window; [Replaceable, DoNotCheckSecurityOnGetter] readonly attribute DOMWindow frames; [Replaceable, DoNotCheckSecurityOnGetter, V8CustomSetter] readonly attribute DOMWindow opener; [Replaceable, DoNotCheckSecurityOnGetter] readonly attribute DOMWindow parent; [DoNotCheckSecurityOnGetter, V8Unforgeable] readonly attribute DOMWindow top; // DOM Level 2 AbstractView Interface readonly attribute Document document; // CSSOM View Module MediaQueryList matchMedia(in DOMString query); // styleMedia has been removed from the CSSOM View specification. readonly attribute StyleMedia styleMedia; // DOM Level 2 Style Interface CSSStyleDeclaration getComputedStyle(in [Optional=DefaultIsUndefined] Element element, in [TreatNullAs=NullString, TreatUndefinedAs=NullString,Optional=DefaultIsUndefined] DOMString pseudoElement); // WebKit extensions #if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT CSSRuleList getMatchedCSSRules(in [Optional=DefaultIsUndefined] Element element, in [TreatNullAs=NullString, TreatUndefinedAs=NullString,Optional=DefaultIsUndefined] DOMString pseudoElement); #endif [Replaceable] readonly attribute double devicePixelRatio; WebKitPoint webkitConvertPointFromPageToNode(in [Optional=DefaultIsUndefined] Node node, in [Optional=DefaultIsUndefined] WebKitPoint p); WebKitPoint webkitConvertPointFromNodeToPage(in [Optional=DefaultIsUndefined] Node node, in [Optional=DefaultIsUndefined] WebKitPoint p); readonly attribute [V8EnabledAtRuntime] DOMApplicationCache applicationCache; readonly attribute [V8EnabledAtRuntime] Storage sessionStorage getter raises(DOMException); readonly attribute [V8EnabledAtRuntime] Storage localStorage getter raises(DOMException); #if defined(ENABLE_ORIENTATION_EVENTS) && ENABLE_ORIENTATION_EVENTS // This is the interface orientation in degrees. Some examples are: // 0 is straight up; -90 is when the device is rotated 90 clockwise; // 90 is when rotated counter clockwise. readonly attribute long orientation; #endif [Replaceable] readonly attribute Console console; // cross-document messaging #if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT [DoNotCheckSecurity, Custom] void postMessage(in SerializedScriptValue message, in DOMString targetOrigin) raises(DOMException); [DoNotCheckSecurity, Custom] void postMessage(in SerializedScriptValue message, in DOMString targetOrigin, in Array messagePorts) raises(DOMException); #if defined(ENABLE_LEGACY_VENDOR_PREFIXES) && ENABLE_LEGACY_VENDOR_PREFIXES [DoNotCheckSecurity, Custom] void webkitPostMessage(in SerializedScriptValue message, in DOMString targetOrigin) raises(DOMException); [DoNotCheckSecurity, Custom] void webkitPostMessage(in SerializedScriptValue message, in DOMString targetOrigin, in Array transferList) raises(DOMException); #endif // defined(ENABLE_LEGACY_VENDOR_PREFIXES) && ENABLE_LEGACY_VENDOR_PREFIXES #else // There's no good way to expose an array via the ObjC bindings, so for now just allow passing in a single port. [DoNotCheckSecurity, Custom] void postMessage(in SerializedScriptValue message, in [Optional] MessagePort messagePort, in DOMString targetOrigin) raises(DOMException); #endif #if defined(ENABLE_WEB_TIMING) && ENABLE_WEB_TIMING [Replaceable] readonly attribute Performance performance; #endif // Timers [Custom] long setTimeout(in [Optional=DefaultIsUndefined] TimeoutHandler handler, in [Optional=DefaultIsUndefined] long timeout); // [Custom] long setTimeout(in TimeoutHandler handler, in long timeout, arguments...); // [Custom] long setTimeout(in DOMString code, in long timeout); void clearTimeout(in [Optional=DefaultIsUndefined] long handle); [Custom] long setInterval(in TimeoutHandler handler, in long timeout); // [Custom] long setInterval(in TimeoutHandler handler, in long timeout, arguments...); // [Custom] long setInterval(in DOMString code, in long timeout); void clearInterval(in [Optional=DefaultIsUndefined] long handle); #if defined(ENABLE_REQUEST_ANIMATION_FRAME) && ENABLE_REQUEST_ANIMATION_FRAME [V8MeasureAs=UnprefixedRequestAnimationFrame] long requestAnimationFrame(in [Callback] RequestAnimationFrameCallback callback); void cancelAnimationFrame(in long id); [ImplementedAs=requestAnimationFrame, V8MeasureAs=PrefixedRequestAnimationFrame] long webkitRequestAnimationFrame(in [Callback] RequestAnimationFrameCallback callback); [ImplementedAs=cancelAnimationFrame] void webkitCancelAnimationFrame(in long id); [ImplementedAs=cancelAnimationFrame] void webkitCancelRequestAnimationFrame(in long id); // This is a deprecated alias for webkitCancelAnimationFrame(). Remove this when removing vendor prefix. #endif // Base64 DOMString atob(in [TreatNullAs=NullString,Optional=DefaultIsUndefined] DOMString string) raises(DOMException); DOMString btoa(in [TreatNullAs=NullString,Optional=DefaultIsUndefined] DOMString string) raises(DOMException); // Events attribute EventListener onabort; attribute EventListener onbeforeunload; attribute EventListener onblur; attribute EventListener oncanplay; attribute EventListener oncanplaythrough; attribute EventListener onchange; attribute EventListener onclick; attribute EventListener oncontextmenu; attribute EventListener ondblclick; attribute EventListener ondrag; attribute EventListener ondragend; attribute EventListener ondragenter; attribute EventListener ondragleave; attribute EventListener ondragover; attribute EventListener ondragstart; attribute EventListener ondrop; attribute EventListener ondurationchange; attribute EventListener onemptied; attribute EventListener onended; attribute EventListener onerror; attribute EventListener onfocus; attribute EventListener onhashchange; attribute EventListener oninput; attribute EventListener oninvalid; attribute EventListener onkeydown; attribute EventListener onkeypress; attribute EventListener onkeyup; attribute EventListener onload; attribute EventListener onloadeddata; attribute EventListener onloadedmetadata; attribute EventListener onloadstart; attribute EventListener onmessage; attribute EventListener onmousedown; attribute EventListener onmousemove; attribute EventListener onmouseout; attribute EventListener onmouseover; attribute EventListener onmouseup; attribute EventListener onmousewheel; attribute EventListener onoffline; attribute EventListener ononline; attribute EventListener onpagehide; attribute EventListener onpageshow; attribute EventListener onpause; attribute EventListener onplay; attribute EventListener onplaying; attribute EventListener onpopstate; attribute EventListener onprogress; attribute EventListener onratechange; attribute EventListener onresize; attribute EventListener onscroll; attribute EventListener onseeked; attribute EventListener onseeking; attribute EventListener onselect; attribute EventListener onstalled; attribute EventListener onstorage; attribute EventListener onsubmit; attribute EventListener onsuspend; attribute EventListener ontimeupdate; attribute EventListener onunload; attribute EventListener onvolumechange; attribute EventListener onwaiting; // Not implemented yet. // attribute EventListener onafterprint; // attribute EventListener onbeforeprint; // attribute EventListener onreadystatechange; // attribute EventListener onredo; // attribute EventListener onshow; // attribute EventListener onundo; // Webkit extensions attribute EventListener onreset; attribute EventListener onsearch; attribute EventListener onwebkitanimationend; attribute EventListener onwebkitanimationiteration; attribute EventListener onwebkitanimationstart; attribute EventListener onwebkittransitionend; #if defined(ENABLE_ORIENTATION_EVENTS) && ENABLE_ORIENTATION_EVENTS attribute EventListener onorientationchange; #endif attribute [Conditional=TOUCH_EVENTS,V8EnabledAtRuntime] EventListener ontouchstart; attribute [Conditional=TOUCH_EVENTS,V8EnabledAtRuntime] EventListener ontouchmove; attribute [Conditional=TOUCH_EVENTS,V8EnabledAtRuntime] EventListener ontouchend; attribute [Conditional=TOUCH_EVENTS,V8EnabledAtRuntime] EventListener ontouchcancel; attribute [Conditional=DEVICE_ORIENTATION,V8EnabledAtRuntime] EventListener ondevicemotion; attribute [Conditional=DEVICE_ORIENTATION,V8EnabledAtRuntime] EventListener ondeviceorientation; attribute [Conditional=PROXIMITY_EVENTS] EventListener onwebkitdeviceproximity; // EventTarget interface [Custom] void addEventListener(in DOMString type, in EventListener listener, in [Optional] boolean useCapture); [Custom] void removeEventListener(in DOMString type, in EventListener listener, in [Optional] boolean useCapture); boolean dispatchEvent(in Event evt) raises(EventException); [V8Custom] void captureEvents(/*in long eventFlags*/); [V8Custom] void releaseEvents(/*in long eventFlags*/); #if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT // Global constructors attribute StyleSheetConstructor StyleSheet; attribute CSSStyleSheetConstructor CSSStyleSheet; attribute CSSValueConstructor CSSValue; attribute CSSPrimitiveValueConstructor CSSPrimitiveValue; attribute CSSValueListConstructor CSSValueList; attribute WebKitCSSTransformValueConstructor WebKitCSSTransformValue; #if defined(ENABLE_CSS_SHADERS) && ENABLE_CSS_SHADERS attribute WebKitCSSMixFunctionValueConstructor WebKitCSSMixFunctionValue; #endif #if defined(ENABLE_CSS_FILTERS) && ENABLE_CSS_FILTERS attribute WebKitCSSFilterValueConstructor WebKitCSSFilterValue; #endif #if defined(ENABLE_CSS_DEVICE_ADAPTATION) && ENABLE_CSS_DEVICE_ADAPTATION attribute WebKitCSSViewportRuleConstructor WebKitCSSViewportRule; #endif attribute CSSRuleConstructor CSSRule; attribute CSSCharsetRuleConstructor CSSCharsetRule; attribute CSSFontFaceRuleConstructor CSSFontFaceRule; attribute CSSImportRuleConstructor CSSImportRule; attribute CSSMediaRuleConstructor CSSMediaRule; attribute CSSPageRuleConstructor CSSPageRule; attribute CSSStyleRuleConstructor CSSStyleRule; attribute CSSStyleDeclarationConstructor CSSStyleDeclaration; attribute MediaListConstructor MediaList; attribute CounterConstructor Counter; attribute CSSRuleListConstructor CSSRuleList; attribute RectConstructor Rect; attribute RGBColorConstructor RGBColor; attribute StyleSheetListConstructor StyleSheetList; // FIXME: Implement the commented-out global constructors for interfaces listed in DOM Level 3 Core specification. attribute DOMCoreExceptionConstructor DOMException; attribute DOMStringListConstructor DOMStringList; // attribute NameListConstructor NameList; // attribute DOMImplementationListConstructor DOMImplementationList; // attribute DOMImplementationSourceConstructor DOMImplementationSource; attribute DOMImplementationConstructor DOMImplementation; attribute DOMSettableTokenListConstructor DOMSettableTokenList; attribute DOMTokenListConstructor DOMTokenList; attribute DocumentFragmentConstructor DocumentFragment; attribute DocumentConstructor Document; attribute NodeConstructor Node; attribute NodeListConstructor NodeList; [Conditional=MICRODATA] attribute PropertyNodeListConstructor PropertyNodeList; attribute NamedNodeMapConstructor NamedNodeMap; attribute CharacterDataConstructor CharacterData; attribute AttrConstructor Attr; attribute ElementConstructor Element; attribute TextConstructor Text; attribute CommentConstructor Comment; // attribute TypeInfoConstructor TypeInfo; // attribute UserDataHandlerConstructor UserDataHandler; // attribute DOMErrorConstructor DOMError; // attribute DOMErrorHandlerConstructor DOMErrorHandler // attribute DOMLocatorConstructor DOMLocator; // attribute DOMConfigurationConstructor DOMConfiguration; attribute CDATASectionConstructor CDATASection; attribute DocumentTypeConstructor DocumentType; attribute NotationConstructor Notation; attribute EntityConstructor Entity; attribute EntityReferenceConstructor EntityReference; attribute ProcessingInstructionConstructor ProcessingInstruction; [Conditional=SHADOW_DOM, V8EnabledAtRuntime=shadowDOM] attribute ShadowRootConstructor WebKitShadowRoot; [Conditional=SHADOW_DOM, V8EnabledAtRuntime=shadowDOM] attribute HTMLContentElementConstructor HTMLContentElement; [Conditional=SHADOW_DOM, V8EnabledAtRuntime=shadowDOM] attribute HTMLShadowElementConstructor HTMLShadowElement; attribute DOMSelectionConstructor Selection; attribute DOMWindowConstructor Window; attribute HTMLDocumentConstructor HTMLDocument; attribute HTMLElementConstructor HTMLElement; attribute HTMLAnchorElementConstructor HTMLAnchorElement; attribute HTMLAppletElementConstructor HTMLAppletElement; attribute HTMLAreaElementConstructor HTMLAreaElement; attribute HTMLBRElementConstructor HTMLBRElement; attribute HTMLBaseElementConstructor HTMLBaseElement; attribute HTMLBaseFontElementConstructor HTMLBaseFontElement; attribute HTMLBodyElementConstructor HTMLBodyElement; attribute HTMLButtonElementConstructor HTMLButtonElement; attribute HTMLCanvasElementConstructor HTMLCanvasElement; attribute HTMLDListElementConstructor HTMLDListElement; [Conditional=DATALIST_ELEMENT] attribute HTMLDataListElementConstructor HTMLDataListElement; [Conditional=DIALOG_ELEMENT, V8EnabledPerContext=dialogElement] attribute HTMLDialogElementConstructor HTMLDialogElement; attribute HTMLDirectoryElementConstructor HTMLDirectoryElement; attribute HTMLDivElementConstructor HTMLDivElement; attribute HTMLEmbedElementConstructor HTMLEmbedElement; attribute HTMLFieldSetElementConstructor HTMLFieldSetElement; attribute HTMLFontElementConstructor HTMLFontElement; attribute HTMLFormElementConstructor HTMLFormElement; attribute HTMLFrameElementConstructor HTMLFrameElement; attribute HTMLFrameSetElementConstructor HTMLFrameSetElement; attribute HTMLHRElementConstructor HTMLHRElement; attribute HTMLHeadElementConstructor HTMLHeadElement; attribute HTMLHeadingElementConstructor HTMLHeadingElement; attribute HTMLHtmlElementConstructor HTMLHtmlElement; attribute HTMLIFrameElementConstructor HTMLIFrameElement; attribute HTMLImageElementConstructor HTMLImageElement; attribute HTMLInputElementConstructor HTMLInputElement; attribute HTMLKeygenElementConstructor HTMLKeygenElement; attribute HTMLLIElementConstructor HTMLLIElement; attribute HTMLLabelElementConstructor HTMLLabelElement; attribute HTMLLegendElementConstructor HTMLLegendElement; attribute HTMLLinkElementConstructor HTMLLinkElement; attribute HTMLMapElementConstructor HTMLMapElement; attribute HTMLMarqueeElementConstructor HTMLMarqueeElement; attribute HTMLMenuElementConstructor HTMLMenuElement; attribute HTMLMetaElementConstructor HTMLMetaElement; #if defined(ENABLE_METER_ELEMENT) && ENABLE_METER_ELEMENT attribute HTMLMeterElementConstructor HTMLMeterElement; #endif attribute HTMLModElementConstructor HTMLModElement; attribute HTMLOListElementConstructor HTMLOListElement; attribute HTMLObjectElementConstructor HTMLObjectElement; attribute HTMLOptGroupElementConstructor HTMLOptGroupElement; attribute HTMLOptionElementConstructor HTMLOptionElement; attribute HTMLOutputElementConstructor HTMLOutputElement; attribute HTMLParagraphElementConstructor HTMLParagraphElement; attribute HTMLParamElementConstructor HTMLParamElement; attribute HTMLPreElementConstructor HTMLPreElement; #if defined(ENABLE_PROGRESS_ELEMENT) && ENABLE_PROGRESS_ELEMENT attribute HTMLProgressElementConstructor HTMLProgressElement; #endif attribute HTMLQuoteElementConstructor HTMLQuoteElement; attribute HTMLScriptElementConstructor HTMLScriptElement; attribute HTMLSelectElementConstructor HTMLSelectElement; attribute HTMLSpanElementConstructor HTMLSpanElement; attribute HTMLStyleElementConstructor HTMLStyleElement; attribute HTMLTableCaptionElementConstructor HTMLTableCaptionElement; attribute HTMLTableCellElementConstructor HTMLTableCellElement; attribute HTMLTableColElementConstructor HTMLTableColElement; attribute HTMLTableElementConstructor HTMLTableElement; attribute HTMLTableRowElementConstructor HTMLTableRowElement; attribute HTMLTableSectionElementConstructor HTMLTableSectionElement; attribute HTMLTextAreaElementConstructor HTMLTextAreaElement; attribute HTMLTitleElementConstructor HTMLTitleElement; attribute HTMLUListElementConstructor HTMLUListElement; attribute HTMLCollectionConstructor HTMLCollection; attribute HTMLAllCollectionConstructor HTMLAllCollection; attribute HTMLFormControlsCollectionConstructor HTMLFormControlsCollection; attribute HTMLOptionsCollectionConstructor HTMLOptionsCollection; [Conditional=MICRODATA] attribute HTMLPropertiesCollectionConstructor HTMLPropertiesCollection; attribute HTMLUnknownElementConstructor HTMLUnknownElement; [JSCustomGetter, CustomConstructor] attribute HTMLImageElementConstructorConstructor Image; // Usable with new operator [JSCustomGetter] attribute HTMLOptionElementConstructorConstructor Option; // Usable with new operator [Conditional=ENCRYPTED_MEDIA, V8EnabledAtRuntime=encryptedMedia] attribute MediaKeyErrorConstructor MediaKeyError; [Conditional=ENCRYPTED_MEDIA, V8EnabledAtRuntime=encryptedMedia] attribute MediaKeyEventConstructor MediaKeyEvent; [Conditional=VIDEO_TRACK, V8EnabledAtRuntime=webkitVideoTrack] attribute HTMLTrackElementConstructor HTMLTrackElement; [Conditional=VIDEO_TRACK, V8EnabledAtRuntime=webkitVideoTrack] attribute TextTrackConstructor TextTrack; [Conditional=VIDEO_TRACK, V8EnabledAtRuntime=webkitVideoTrack] attribute TextTrackCueConstructor TextTrackCue; // Usable with the new operator [Conditional=VIDEO_TRACK, V8EnabledAtRuntime=webkitVideoTrack] attribute TextTrackCueListConstructor TextTrackCueList; [Conditional=VIDEO_TRACK, V8EnabledAtRuntime=webkitVideoTrack] attribute TextTrackListConstructor TextTrackList; [Conditional=VIDEO_TRACK, V8EnabledAtRuntime=webkitVideoTrack] attribute TrackEventConstructor TrackEvent; [JSCustomGetter, Conditional=VIDEO, V8EnabledAtRuntime] attribute HTMLAudioElementConstructorConstructor Audio; // Usable with the new operator [Conditional=VIDEO, V8EnabledAtRuntime] attribute HTMLAudioElementConstructor HTMLAudioElement; [Conditional=VIDEO, V8EnabledAtRuntime] attribute HTMLMediaElementConstructor HTMLMediaElement; [Conditional=VIDEO, V8EnabledAtRuntime] attribute HTMLVideoElementConstructor HTMLVideoElement; [Conditional=VIDEO, V8EnabledAtRuntime] attribute MediaErrorConstructor MediaError; [Conditional=VIDEO, V8EnabledAtRuntime] attribute TimeRangesConstructor TimeRanges; [Conditional=VIDEO, V8EnabledAtRuntime] attribute HTMLSourceElementConstructor HTMLSourceElement; [Conditional=VIDEO, V8EnabledAtRuntime] attribute MediaControllerConstructor MediaController; [Conditional=WEB_INTENTS_TAG] attribute HTMLIntentElementConstructor HTMLIntentElement; attribute CanvasPatternConstructor CanvasPattern; attribute CanvasGradientConstructor CanvasGradient; attribute CanvasRenderingContext2DConstructor CanvasRenderingContext2D; attribute ImageDataConstructor ImageData; attribute TextMetricsConstructor TextMetrics; [Conditional=WEBGL] attribute WebGLActiveInfoConstructor WebGLActiveInfo; [Conditional=WEBGL] attribute WebGLBufferConstructor WebGLBuffer; [Conditional=WEBGL] attribute WebGLFramebufferConstructor WebGLFramebuffer; [Conditional=WEBGL] attribute WebGLProgramConstructor WebGLProgram; [Conditional=WEBGL] attribute WebGLRenderbufferConstructor WebGLRenderbuffer; [Conditional=WEBGL] attribute WebGLRenderingContextConstructor WebGLRenderingContext; [Conditional=WEBGL] attribute WebGLShaderConstructor WebGLShader; [Conditional=WEBGL] attribute WebGLShaderPrecisionFormatConstructor WebGLShaderPrecisionFormat; [Conditional=WEBGL] attribute WebGLTextureConstructor WebGLTexture; [Conditional=WEBGL] attribute WebGLUniformLocationConstructor WebGLUniformLocation; attribute DOMStringMapConstructor DOMStringMap; attribute ArrayBufferConstructor ArrayBuffer; // Usable with new operator attribute Int8ArrayConstructor Int8Array; // Usable with new operator attribute Uint8ArrayConstructor Uint8Array; // Usable with new operator attribute Uint8ClampedArrayConstructor Uint8ClampedArray; // Usable with new operator attribute Int16ArrayConstructor Int16Array; // Usable with new operator attribute Uint16ArrayConstructor Uint16Array; // Usable with new operator attribute Int32ArrayConstructor Int32Array; // Usable with new operator attribute Uint32ArrayConstructor Uint32Array; // Usable with new operator attribute Float32ArrayConstructor Float32Array; // Usable with new operator attribute Float64ArrayConstructor Float64Array; // Usable with new operator attribute DataViewConstructor DataView; // Usable with new operator // Event Constructors attribute EventConstructor Event; attribute BeforeLoadEventConstructor BeforeLoadEvent; attribute CompositionEventConstructor CompositionEvent; attribute CustomEventConstructor CustomEvent; attribute ErrorEventConstructor ErrorEvent; attribute HashChangeEventConstructor HashChangeEvent; attribute KeyboardEventConstructor KeyboardEvent; attribute MessageEventConstructor MessageEvent; attribute MouseEventConstructor MouseEvent; attribute MutationEventConstructor MutationEvent; attribute OverflowEventConstructor OverflowEvent; attribute PopStateEventConstructor PopStateEvent; attribute PageTransitionEventConstructor PageTransitionEvent; attribute ProgressEventConstructor ProgressEvent; attribute TextEventConstructor TextEvent; attribute UIEventConstructor UIEvent; attribute WebKitAnimationEventConstructor WebKitAnimationEvent; attribute WebKitTransitionEventConstructor WebKitTransitionEvent; attribute WheelEventConstructor WheelEvent; attribute XMLHttpRequestProgressEventConstructor XMLHttpRequestProgressEvent; [Conditional=DEVICE_ORIENTATION, V8EnabledAtRuntime] attribute DeviceMotionEventConstructor DeviceMotionEvent; [Conditional=DEVICE_ORIENTATION, V8EnabledAtRuntime] attribute DeviceOrientationEventConstructor DeviceOrientationEvent; [Conditional=TOUCH_EVENTS] attribute TouchConstructor Touch; [Conditional=TOUCH_EVENTS] attribute TouchEventConstructor TouchEvent; [Conditional=TOUCH_EVENTS] attribute TouchListConstructor TouchList; attribute StorageEventConstructor StorageEvent; [Conditional=INPUT_SPEECH] attribute SpeechInputEventConstructor SpeechInputEvent; [Conditional=WEBGL] attribute WebGLContextEventConstructor WebGLContextEvent; [Conditional=PROXIMITY_EVENTS] attribute DeviceProximityEventConstructor DeviceProximityEvent; attribute EventExceptionConstructor EventException; attribute WebKitCSSKeyframeRuleConstructor WebKitCSSKeyframeRule; attribute WebKitCSSKeyframesRuleConstructor WebKitCSSKeyframesRule; [Conditional=CSS_REGIONS] attribute WebKitCSSRegionRuleConstructor WebKitCSSRegionRule; attribute WebKitCSSMatrixConstructor WebKitCSSMatrix; // Usable with the new operator attribute WebKitPointConstructor WebKitPoint; // Usable with new the operator attribute ClipboardConstructor Clipboard; [Conditional=WORKERS] attribute WorkerConstructor Worker; // Usable with the new operator [Conditional=SHARED_WORKERS, JSCustomGetter, V8EnabledAtRuntime] attribute SharedWorkerConstructor SharedWorker; // Usable with the new operator attribute FileConstructor File; attribute FileListConstructor FileList; attribute BlobConstructor Blob; attribute NodeFilterConstructor NodeFilter; attribute RangeConstructor Range; attribute RangeExceptionConstructor RangeException; attribute EventSourceConstructor EventSource; // Usable with new the operator // Mozilla has a separate XMLDocument object for XML documents. // We just use Document for this. attribute DocumentConstructor XMLDocument; attribute DOMParserConstructor DOMParser; attribute XMLSerializerConstructor XMLSerializer; attribute XMLHttpRequestConstructor XMLHttpRequest; // Usable with the new operator attribute XMLHttpRequestUploadConstructor XMLHttpRequestUpload; attribute XMLHttpRequestExceptionConstructor XMLHttpRequestException; [Conditional=XSLT] attribute XSLTProcessorConstructor XSLTProcessor; // Usable with the new operator #if defined(ENABLE_CHANNEL_MESSAGING) && ENABLE_CHANNEL_MESSAGING attribute MessagePortConstructor MessagePort; attribute MessageChannelConstructor MessageChannel; // Usable with the new operator #endif attribute DOMPluginConstructor Plugin; attribute DOMPluginArrayConstructor PluginArray; attribute DOMMimeTypeConstructor MimeType; attribute DOMMimeTypeArrayConstructor MimeTypeArray; attribute ClientRectConstructor ClientRect; attribute ClientRectListConstructor ClientRectList; attribute StorageConstructor Storage; #if defined(ENABLE_ANIMATION_API) && ENABLE_ANIMATION_API attribute WebKitAnimationConstructor WebKitAnimation; attribute WebKitAnimationListConstructor WebKitAnimationList; #endif attribute XPathEvaluatorConstructor XPathEvaluator; attribute XPathResultConstructor XPathResult; attribute XPathExceptionConstructor XPathException; [Conditional=SVG] attribute SVGZoomEventConstructor SVGZoomEvent; #if defined(ENABLE_SVG) && ENABLE_SVG // Expose all implemented SVG 1.1 interfaces, excluding the SVG MI interfaces: // SVGAnimatedPathData, SVGAnimatedPoints, SVGExternalResourcesRequired, // SVGFilterPrimitiveStandardAttributes, SVGFitToViewBox, SVGLangSpace, SVGLocatable // SVGStylable, SVGTests, SVGTransformable, SVGURIReference, SVGZoomAndPan attribute SVGAElementConstructor SVGAElement; attribute SVGAngleConstructor SVGAngle; attribute SVGAnimatedAngleConstructor SVGAnimatedAngle; attribute SVGAnimatedBooleanConstructor SVGAnimatedBoolean; attribute SVGAnimatedEnumerationConstructor SVGAnimatedEnumeration; attribute SVGAnimatedIntegerConstructor SVGAnimatedInteger; attribute SVGAnimatedLengthConstructor SVGAnimatedLength; attribute SVGAnimatedLengthListConstructor SVGAnimatedLengthList; attribute SVGAnimatedNumberConstructor SVGAnimatedNumber; attribute SVGAnimatedNumberListConstructor SVGAnimatedNumberList; attribute SVGAnimatedPreserveAspectRatioConstructor SVGAnimatedPreserveAspectRatio; attribute SVGAnimatedRectConstructor SVGAnimatedRect; attribute SVGAnimatedStringConstructor SVGAnimatedString; attribute SVGAnimatedTransformListConstructor SVGAnimatedTransformList; attribute SVGCircleElementConstructor SVGCircleElement; attribute SVGClipPathElementConstructor SVGClipPathElement; attribute SVGColorConstructor SVGColor; attribute SVGCursorElementConstructor SVGCursorElement; // attribute SVGCSSRuleConstructor SVGCSSRule; attribute SVGDefsElementConstructor SVGDefsElement; attribute SVGDescElementConstructor SVGDescElement; attribute SVGDocumentConstructor SVGDocument; attribute SVGElementConstructor SVGElement; attribute SVGElementInstanceConstructor SVGElementInstance; attribute SVGElementInstanceListConstructor SVGElementInstanceList; attribute SVGEllipseElementConstructor SVGEllipseElement; attribute SVGForeignObjectElementConstructor SVGForeignObjectElement; attribute SVGExceptionConstructor SVGException; attribute SVGGElementConstructor SVGGElement; attribute SVGGradientElementConstructor SVGGradientElement; attribute SVGImageElementConstructor SVGImageElement; attribute SVGLengthConstructor SVGLength; attribute SVGLengthListConstructor SVGLengthList; attribute SVGLinearGradientElementConstructor SVGLinearGradientElement; attribute SVGLineElementConstructor SVGLineElement; attribute SVGMarkerElementConstructor SVGMarkerElement; attribute SVGMaskElementConstructor SVGMaskElement; attribute SVGMatrixConstructor SVGMatrix; attribute SVGMetadataElementConstructor SVGMetadataElement; attribute SVGNumberConstructor SVGNumber; attribute SVGNumberListConstructor SVGNumberList; attribute SVGPaintConstructor SVGPaint; attribute SVGPathElementConstructor SVGPathElement; attribute SVGPathSegConstructor SVGPathSeg; attribute SVGPathSegArcAbsConstructor SVGPathSegArcAbs; attribute SVGPathSegArcRelConstructor SVGPathSegArcRel; attribute SVGPathSegClosePathConstructor SVGPathSegClosePath; attribute SVGPathSegCurvetoCubicAbsConstructor SVGPathSegCurvetoCubicAbs; attribute SVGPathSegCurvetoCubicRelConstructor SVGPathSegCurvetoCubicRel; attribute SVGPathSegCurvetoCubicSmoothAbsConstructor SVGPathSegCurvetoCubicSmoothAbs; attribute SVGPathSegCurvetoCubicSmoothRelConstructor SVGPathSegCurvetoCubicSmoothRel; attribute SVGPathSegCurvetoQuadraticAbsConstructor SVGPathSegCurvetoQuadraticAbs; attribute SVGPathSegCurvetoQuadraticRelConstructor SVGPathSegCurvetoQuadraticRel; attribute SVGPathSegCurvetoQuadraticSmoothAbsConstructor SVGPathSegCurvetoQuadraticSmoothAbs; attribute SVGPathSegCurvetoQuadraticSmoothRelConstructor SVGPathSegCurvetoQuadraticSmoothRel; attribute SVGPathSegLinetoAbsConstructor SVGPathSegLinetoAbs; attribute SVGPathSegLinetoHorizontalAbsConstructor SVGPathSegLinetoHorizontalAbs; attribute SVGPathSegLinetoHorizontalRelConstructor SVGPathSegLinetoHorizontalRel; attribute SVGPathSegLinetoRelConstructor SVGPathSegLinetoRel; attribute SVGPathSegLinetoVerticalAbsConstructor SVGPathSegLinetoVerticalAbs; attribute SVGPathSegLinetoVerticalRelConstructor SVGPathSegLinetoVerticalRel; attribute SVGPathSegListConstructor SVGPathSegList; attribute SVGPathSegMovetoAbsConstructor SVGPathSegMovetoAbs; attribute SVGPathSegMovetoRelConstructor SVGPathSegMovetoRel; attribute SVGPatternElementConstructor SVGPatternElement; attribute SVGPointConstructor SVGPoint; attribute SVGPointListConstructor SVGPointList; attribute SVGPolygonElementConstructor SVGPolygonElement; attribute SVGPolylineElementConstructor SVGPolylineElement; attribute SVGPreserveAspectRatioConstructor SVGPreserveAspectRatio; attribute SVGRadialGradientElementConstructor SVGRadialGradientElement; attribute SVGRectConstructor SVGRect; attribute SVGRectElementConstructor SVGRectElement; attribute SVGRenderingIntentConstructor SVGRenderingIntent; attribute SVGScriptElementConstructor SVGScriptElement; attribute SVGStopElementConstructor SVGStopElement; attribute SVGStringListConstructor SVGStringList; attribute SVGStyleElementConstructor SVGStyleElement; attribute SVGSVGElementConstructor SVGSVGElement; attribute SVGSwitchElementConstructor SVGSwitchElement; attribute SVGSymbolElementConstructor SVGSymbolElement; attribute SVGTextContentElementConstructor SVGTextContentElement; attribute SVGTextElementConstructor SVGTextElement; attribute SVGTextPathElementConstructor SVGTextPathElement; attribute SVGTextPositioningElementConstructor SVGTextPositioningElement; attribute SVGTitleElementConstructor SVGTitleElement; attribute SVGTransformConstructor SVGTransform; attribute SVGTransformListConstructor SVGTransformList; attribute SVGTRefElementConstructor SVGTRefElement; attribute SVGTSpanElementConstructor SVGTSpanElement; attribute SVGUnitTypesConstructor SVGUnitTypes; attribute SVGUseElementConstructor SVGUseElement; attribute SVGViewElementConstructor SVGViewElement; attribute SVGViewSpecConstructor SVGViewSpec; attribute SVGZoomAndPanConstructor SVGZoomAndPan; attribute SVGAnimateColorElementConstructor SVGAnimateColorElement; attribute SVGAnimateElementConstructor SVGAnimateElement; attribute SVGAnimateMotionElementConstructor SVGAnimateMotionElement; attribute SVGAnimateTransformElementConstructor SVGAnimateTransformElement; attribute SVGMPathElementConstructor SVGMPathElement; attribute SVGSetElementConstructor SVGSetElement; #if defined(ENABLE_SVG_FONTS) && ENABLE_SVG_FONTS attribute SVGAltGlyphDefElementConstructor SVGAltGlyphDefElement; attribute SVGAltGlyphElementConstructor SVGAltGlyphElement; attribute SVGAltGlyphItemElementConstructor SVGAltGlyphItemElement; // attribute SVGDefinitionSrcElementConstructor SVGDefinitionSrcElement; attribute SVGFontElementConstructor SVGFontElement; attribute SVGFontFaceElementConstructor SVGFontFaceElement; attribute SVGFontFaceFormatElementConstructor SVGFontFaceFormatElement; attribute SVGFontFaceNameElementConstructor SVGFontFaceNameElement; attribute SVGFontFaceSrcElementConstructor SVGFontFaceSrcElement; attribute SVGFontFaceUriElementConstructor SVGFontFaceUriElement; attribute SVGGlyphElementConstructor SVGGlyphElement; attribute SVGGlyphRefElementConstructor SVGGlyphRefElement; attribute SVGHKernElementConstructor SVGHKernElement; attribute SVGMissingGlyphElementConstructor SVGMissingGlyphElement; attribute SVGVKernElementConstructor SVGVKernElement; #endif #if defined(ENABLE_FILTERS) && ENABLE_FILTERS attribute SVGComponentTransferFunctionElementConstructor SVGComponentTransferFunctionElement; attribute SVGFEBlendElementConstructor SVGFEBlendElement; attribute SVGFEColorMatrixElementConstructor SVGFEColorMatrixElement; attribute SVGFEComponentTransferElementConstructor SVGFEComponentTransferElement; attribute SVGFECompositeElementConstructor SVGFECompositeElement; attribute SVGFEConvolveMatrixElementConstructor SVGFEConvolveMatrixElement; attribute SVGFEDiffuseLightingElementConstructor SVGFEDiffuseLightingElement; attribute SVGFEDisplacementMapElementConstructor SVGFEDisplacementMapElement; attribute SVGFEDistantLightElementConstructor SVGFEDistantLightElement; attribute SVGFEDropShadowElementConstructor SVGFEDropShadowElement; attribute SVGFEFloodElementConstructor SVGFEFloodElement; attribute SVGFEFuncAElementConstructor SVGFEFuncAElement; attribute SVGFEFuncBElementConstructor SVGFEFuncBElement; attribute SVGFEFuncGElementConstructor SVGFEFuncGElement; attribute SVGFEFuncRElementConstructor SVGFEFuncRElement; attribute SVGFEGaussianBlurElementConstructor SVGFEGaussianBlurElement; attribute SVGFEImageElementConstructor SVGFEImageElement; attribute SVGFEMergeElementConstructor SVGFEMergeElement; attribute SVGFEMergeNodeElementConstructor SVGFEMergeNodeElement; attribute SVGFEMorphologyElementConstructor SVGFEMorphologyElement; attribute SVGFEOffsetElementConstructor SVGFEOffsetElement; attribute SVGFEPointLightElementConstructor SVGFEPointLightElement; attribute SVGFESpecularLightingElementConstructor SVGFESpecularLightingElement; attribute SVGFESpotLightElementConstructor SVGFESpotLightElement; attribute SVGFETileElementConstructor SVGFETileElement; attribute SVGFETurbulenceElementConstructor SVGFETurbulenceElement; attribute SVGFilterElementConstructor SVGFilterElement; #endif #endif attribute DOMFormDataConstructor FormData; [Conditional=BLOB|FILE_SYSTEM] attribute FileErrorConstructor FileError; [Conditional=BLOB] attribute FileReaderConstructor FileReader; [Conditional=BLOB] attribute DOMURLConstructor URL; [Conditional=BLOB] attribute DOMURLConstructor webkitURL; // FIXME: deprecate this. [Conditional=MUTATION_OBSERVERS] attribute MutationObserverConstructor WebKitMutationObserver; [Conditional=MEDIA_SOURCE, V8EnabledAtRuntime=mediaSource] attribute MediaSourceConstructor WebKitMediaSource; [Conditional=MEDIA_SOURCE, V8EnabledAtRuntime=mediaSource] attribute SourceBufferConstructor WebKitSourceBuffer; [Conditional=MEDIA_SOURCE, V8EnabledAtRuntime=mediaSource] attribute SourceBufferListConstructor WebKitSourceBufferList; #endif // defined(LANGUAGE_JAVASCRIPT) #if defined(V8_BINDING) && V8_BINDING // window.toString() requires special handling in V8 [V8DoNotCheckSignature, DoNotCheckSecurity, Custom, NotEnumerable] DOMString toString(); #endif // defined(V8_BINDING) };