diff options
Diffstat (limited to 'Source/WebCore/dom/Document.idl')
-rw-r--r-- | Source/WebCore/dom/Document.idl | 407 |
1 files changed, 133 insertions, 274 deletions
diff --git a/Source/WebCore/dom/Document.idl b/Source/WebCore/dom/Document.idl index e84b586ee..34fa78039 100644 --- a/Source/WebCore/dom/Document.idl +++ b/Source/WebCore/dom/Document.idl @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006, 2007, 2011 Apple Inc. All rights reserved. + * Copyright (C) 2006, 2007, 2011, 2015 Apple Inc. All rights reserved. * Copyright (C) 2006, 2007 Samuel Weinig <sam@webkit.org> * * This library is free software; you can redistribute it and/or @@ -19,340 +19,199 @@ */ [ + Constructor, + ConstructorCallWith=Document, CustomToJSObject, + ExportMacro=WEBCORE_EXPORT, + JSCustomHeader, + JSCustomMarkFunction, JSGenerateToNativeObject, ] interface Document : Node { - - // DOM Level 1 Core - readonly attribute DocumentType doctype; + readonly attribute DocumentType? doctype; readonly attribute DOMImplementation implementation; - readonly attribute Element documentElement; - - [ReturnNewObject, RaisesException] Element createElement([TreatNullAs=NullString,Default=Undefined] optional DOMString tagName); - DocumentFragment createDocumentFragment(); - [ReturnNewObject] Text createTextNode([Default=Undefined] optional DOMString data); - [ReturnNewObject] Comment createComment([Default=Undefined] optional DOMString data); - [ReturnNewObject, RaisesException] CDATASection createCDATASection([Default=Undefined] optional DOMString data); - [ObjCLegacyUnnamedParameters, ReturnNewObject, RaisesException] ProcessingInstruction createProcessingInstruction([Default=Undefined] optional DOMString target, - [Default=Undefined] optional DOMString data); - [ReturnNewObject, RaisesException] Attr createAttribute([Default=Undefined] optional DOMString name); - [ReturnNewObject, RaisesException] EntityReference createEntityReference([Default=Undefined] optional DOMString name); - NodeList getElementsByTagName([Default=Undefined] optional DOMString tagname); - - // Introduced in DOM Level 2: - - [ObjCLegacyUnnamedParameters, ReturnNewObject, RaisesException] Node importNode([Default=Undefined] optional Node importedNode, - optional boolean deep); - [ObjCLegacyUnnamedParameters, ReturnNewObject, RaisesException] Element createElementNS([TreatNullAs=NullString,Default=Undefined] optional DOMString namespaceURI, - [TreatNullAs=NullString,Default=Undefined] optional DOMString qualifiedName); - [ObjCLegacyUnnamedParameters, ReturnNewObject, RaisesException] Attr createAttributeNS([TreatNullAs=NullString,Default=Undefined] optional DOMString namespaceURI, - [TreatNullAs=NullString,Default=Undefined] optional DOMString qualifiedName); - [ObjCLegacyUnnamedParameters] NodeList getElementsByTagNameNS([TreatNullAs=NullString,Default=Undefined] optional DOMString namespaceURI, - [Default=Undefined] optional DOMString localName); - Element getElementById([Default=Undefined] optional DOMString elementId); - - // DOM Level 3 Core - - [TreatReturnedNullStringAs=Null] readonly attribute DOMString inputEncoding; - - [TreatReturnedNullStringAs=Null] readonly attribute DOMString xmlEncoding; - [TreatReturnedNullStringAs=Null, TreatNullAs=NullString, SetterRaisesException] attribute DOMString xmlVersion; - [SetterRaisesException] attribute boolean xmlStandalone; - - [RaisesException] Node adoptNode([Default=Undefined] optional Node source); - -#if defined(LANGUAGE_OBJECTIVE_C) && LANGUAGE_OBJECTIVE_C || defined(LANGUAGE_GOBJECT) && LANGUAGE_GOBJECT - // document.documentURI was writable in DOM3 Core, but is read-only in DOM4 - // (see http://www.w3.org/TR/2011/WD-dom-20110915/#document). We need to keep - // the writable version around for Objective C clients, but are moving to - // read-only for other clients. - [TreatReturnedNullStringAs=Null, TreatNullAs=NullString] attribute DOMString documentURI; -#else - [TreatReturnedNullStringAs=Null] readonly attribute DOMString documentURI; -#endif + [DOMJIT=Getter] readonly attribute Element? documentElement; - // DOM Level 2 Events (DocumentEvents interface) + [NewObject, MayThrowException, ImplementedAs=createElementForBindings] Element createElement(DOMString tagName); + [NewObject] DocumentFragment createDocumentFragment(); - [RaisesException] Event createEvent([Default=Undefined] optional DOMString eventType); + [NewObject] Text createTextNode(DOMString data); + [NewObject] Comment createComment(DOMString data); + [NewObject, MayThrowException] CDATASection createCDATASection(DOMString data); + [NewObject, MayThrowException] ProcessingInstruction createProcessingInstruction(DOMString target, DOMString data); + [NewObject, MayThrowException] Attr createAttribute(DOMString name); - // DOM Level 2 Tranversal and Range (DocumentRange interface) + HTMLCollection getElementsByTagName(DOMString tagname); - Range createRange(); + [CEReactions, MayThrowException, NewObject] Node importNode(Node importedNode, optional boolean deep = false); - // DOM Level 2 Tranversal and Range (DocumentTraversal interface) + [NewObject, MayThrowException] Element createElementNS(DOMString? namespaceURI, DOMString qualifiedName); + [NewObject, MayThrowException] Attr createAttributeNS(DOMString? namespaceURI, DOMString qualifiedName); - [ObjCLegacyUnnamedParameters, RaisesException] NodeIterator createNodeIterator([Default=Undefined] optional Node root, - [Default=Undefined] optional unsigned long whatToShow, - [Default=Undefined] optional NodeFilter filter, - [Default=Undefined] optional boolean expandEntityReferences); - [ObjCLegacyUnnamedParameters, RaisesException] TreeWalker createTreeWalker([Default=Undefined] optional Node root, - [Default=Undefined] optional unsigned long whatToShow, - [Default=Undefined] optional NodeFilter filter, - [Default=Undefined] optional boolean expandEntityReferences); + HTMLCollection getElementsByTagNameNS(DOMString? namespaceURI, DOMString localName); - // DOM Level 2 Abstract Views (DocumentView interface) + [ImplementedAs=characterSetWithUTF8Fallback] readonly attribute DOMString inputEncoding; - readonly attribute DOMWindow defaultView; + readonly attribute DOMString? xmlEncoding; + [SetterMayThrowException] attribute DOMString? xmlVersion; + attribute boolean xmlStandalone; + + [CEReactions, MayThrowException] Node adoptNode(Node source); + + [ImplementedAs=urlForBindings] readonly attribute USVString documentURI; - // DOM Level 2 Style (DocumentStyle interface) + [MayThrowException, NewObject] Event createEvent(DOMString eventType); + + [NewObject] Range createRange(); + + [NewObject] NodeIterator createNodeIterator(Node root, optional unsigned long whatToShow = 0xFFFFFFFF, optional NodeFilter? filter = null); + [NewObject] TreeWalker createTreeWalker(Node root, optional unsigned long whatToShow = 0xFFFFFFFF, optional NodeFilter? filter = null); + + readonly attribute DOMWindow defaultView; readonly attribute StyleSheetList styleSheets; - // DOM Level 2 Style (DocumentCSS interface) - - [ObjCLegacyUnnamedParameters] CSSStyleDeclaration getOverrideStyle([Default=Undefined] optional Element element, - [Default=Undefined] optional DOMString pseudoElement); - - // DOM Level 3 XPath (XPathEvaluator interface) - [ObjCLegacyUnnamedParameters, RaisesException] XPathExpression createExpression([Default=Undefined] optional DOMString expression, - [Default=Undefined] optional XPathNSResolver resolver); - XPathNSResolver createNSResolver(Node nodeResolver); - [ObjCLegacyUnnamedParameters, RaisesException] XPathResult evaluate([Default=Undefined] optional DOMString expression, - [Default=Undefined] optional Node contextNode, - [Default=Undefined] optional XPathNSResolver resolver, - [Default=Undefined] optional unsigned short type, - [Default=Undefined] optional XPathResult inResult); - - // Common extensions - boolean execCommand([Default=Undefined] optional DOMString command, - [Default=Undefined] optional boolean userInterface, - [TreatNullAs=NullString, TreatUndefinedAs=NullString, Default=Undefined] optional DOMString value); - -#if defined(LANGUAGE_OBJECTIVE_C) && LANGUAGE_OBJECTIVE_C - // FIXME: remove the these two versions once optional is implemented for Objective-C. - boolean execCommand(DOMString command, - boolean userInterface); - boolean execCommand(DOMString command); -#endif + // FIXME: Using "undefined" as default parameter value is wrong. + CSSStyleDeclaration getOverrideStyle(optional Element? element = null, optional DOMString pseudoElement = "undefined"); - boolean queryCommandEnabled([Default=Undefined] optional DOMString command); - boolean queryCommandIndeterm([Default=Undefined] optional DOMString command); - boolean queryCommandState([Default=Undefined] optional DOMString command); - boolean queryCommandSupported([Default=Undefined] optional DOMString command); - DOMString queryCommandValue([Default=Undefined] optional DOMString command); + readonly attribute DOMString contentType; - // Moved down from HTMLDocument + // FIXME: Using "undefined" as default parameter value is wrong. + [MayThrowException] XPathExpression createExpression(optional DOMString expression = "undefined", optional XPathNSResolver? resolver); + XPathNSResolver createNSResolver(Node? nodeResolver); - [TreatNullAs=NullString] attribute DOMString title; - readonly attribute DOMString referrer; -#if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT - [TreatNullAs=NullString, SetterRaisesException] attribute DOMString domain; -#else - readonly attribute DOMString domain; -#endif - readonly attribute DOMString URL; + // FIXME: Using "undefined" as default parameter value is wrong. + [MayThrowException] XPathResult evaluate(optional DOMString expression = "undefined", optional Node? contextNode, optional XPathNSResolver? resolver, optional unsigned short type = 0, optional XPathResult? inResult); + + // FIXME: The default value for the last parameter should be the empty string. + [CEReactions] boolean execCommand(DOMString command, optional boolean userInterface = false, optional DOMString? value = null); + + boolean queryCommandEnabled(DOMString command); + boolean queryCommandIndeterm(DOMString command); + boolean queryCommandState(DOMString command); + boolean queryCommandSupported(DOMString command); + DOMString queryCommandValue(DOMString command); - [TreatNullAs=NullString, GetterRaisesException, SetterRaisesException] attribute DOMString cookie; + [CEReactions] attribute DOMString title; + attribute DOMString dir; + attribute DOMString designMode; - [SetterRaisesException] attribute HTMLElement body; + readonly attribute USVString referrer; + [SetterMayThrowException] attribute USVString domain; + [ImplementedAs=urlForBindings] readonly attribute USVString URL; - readonly attribute HTMLHeadElement head; + [GetterMayThrowException, SetterMayThrowException] attribute USVString cookie; + + [CEReactions, DOMJIT=Getter, ImplementedAs=bodyOrFrameset, SetterMayThrowException] attribute HTMLElement? body; + + readonly attribute HTMLHeadElement? head; readonly attribute HTMLCollection images; readonly attribute HTMLCollection applets; readonly attribute HTMLCollection links; readonly attribute HTMLCollection forms; readonly attribute HTMLCollection anchors; + readonly attribute HTMLCollection embeds; + readonly attribute HTMLCollection plugins; + readonly attribute HTMLCollection scripts; readonly attribute DOMString lastModified; - NodeList getElementsByName([Default=Undefined] optional DOMString elementName); - -#if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT - [Custom] attribute Location location; -#endif + NodeList getElementsByName([AtomicString] DOMString elementName); - // IE extensions + [PutForwards=href, Unforgeable] readonly attribute Location? location; - [TreatReturnedNullStringAs=Undefined, TreatNullAs=NullString] attribute DOMString charset; - [TreatReturnedNullStringAs=Undefined] readonly attribute DOMString defaultCharset; - [TreatReturnedNullStringAs=Undefined] readonly attribute DOMString readyState; + [ImplementedAs=characterSetWithUTF8Fallback] readonly attribute DOMString charset; + readonly attribute DOMString readyState; - Element elementFromPoint([Default=Undefined] optional long x, - [Default=Undefined] optional long y); - Range caretRangeFromPoint([Default=Undefined] optional long x, - [Default=Undefined] optional long y); + Range caretRangeFromPoint(optional long x = 0, optional long y = 0); // Mozilla extensions -#if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT - DOMSelection getSelection(); -#endif - [TreatReturnedNullStringAs=Null] readonly attribute DOMString characterSet; - - // WebKit extensions + DOMSelection getSelection(); + [ImplementedAs=characterSetWithUTF8Fallback] readonly attribute DOMString characterSet; - [TreatReturnedNullStringAs=Null] readonly attribute DOMString preferredStylesheetSet; - [TreatReturnedNullStringAs=Null, TreatNullAs=NullString] attribute DOMString selectedStylesheetSet; - -#if !defined(LANGUAGE_JAVASCRIPT) || !LANGUAGE_JAVASCRIPT - CSSStyleDeclaration createCSSStyleDeclaration(); -#endif + readonly attribute DOMString? preferredStylesheetSet; + attribute DOMString? selectedStylesheetSet; -#if defined(LANGUAGE_OBJECTIVE_C) && LANGUAGE_OBJECTIVE_C - // DOM Level 2 Style Interface - [ObjCLegacyUnnamedParameters, ObjCUseDefaultView] CSSStyleDeclaration getComputedStyle(Element element, - DOMString pseudoElement); - - // WebKit extension - // FIXME: remove the first version once optional is implemented for Objective-C. - [ObjCUseDefaultView] CSSRuleList getMatchedCSSRules(Element element, - DOMString pseudoElement); - [ObjCUseDefaultView] CSSRuleList getMatchedCSSRules(Element element, - DOMString pseudoElement, - optional boolean authorOnly); - -#endif + // FIXME: This is not standard and has been dropped from Blink already. + [Custom] (CanvasRenderingContext2D or WebGLRenderingContextBase) getCSSCanvasContext(DOMString contextId, DOMString name, long width, long height); -#if !defined(LANGUAGE_CPP) || !LANGUAGE_CPP -#if !defined(LANGUAGE_OBJECTIVE_C) || !LANGUAGE_OBJECTIVE_C - CanvasRenderingContext getCSSCanvasContext(DOMString contextId, DOMString name, long width, long height); -#endif -#endif + HTMLCollection getElementsByClassName(DOMString classNames); - // HTML 5 - NodeList getElementsByClassName([Default=Undefined] optional DOMString tagname); + boolean hasFocus(); readonly attribute DOMString compatMode; - // NodeSelector - Selector API - [RaisesException] Element querySelector(DOMString selectors); - [RaisesException] NodeList querySelectorAll(DOMString selectors); - #if defined(ENABLE_FULLSCREEN_API) && ENABLE_FULLSCREEN_API // Mozilla version readonly attribute boolean webkitIsFullScreen; readonly attribute boolean webkitFullScreenKeyboardInputAllowed; - readonly attribute Element webkitCurrentFullScreenElement; + [ImplementedAs=webkitCurrentFullScreenElementForBindings] readonly attribute Element webkitCurrentFullScreenElement; void webkitCancelFullScreen(); // W3C version readonly attribute boolean webkitFullscreenEnabled; - readonly attribute Element webkitFullscreenElement; + [ImplementedAs=webkitFullscreenElementForBindings] readonly attribute Element? webkitFullscreenElement; void webkitExitFullscreen(); #endif - [Conditional=POINTER_LOCK] void webkitExitPointerLock(); - [Conditional=POINTER_LOCK] readonly attribute Element webkitPointerLockElement; + [Conditional=POINTER_LOCK] void exitPointerLock(); [Conditional=CSS_REGIONS] DOMNamedFlowCollection webkitGetNamedFlows(); -#if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT - [Conditional=FONT_LOAD_EVENTS] readonly attribute FontLoader fontloader; -#endif - -#if (!defined(LANGUAGE_OBJECTIVE_C) || !LANGUAGE_OBJECTIVE_C) && (!defined(LANGUAGE_GOBJECT) || !LANGUAGE_GOBJECT) - // Event handler DOM attributes - [NotEnumerable] attribute EventListener onabort; - [NotEnumerable] attribute EventListener onblur; - [NotEnumerable] attribute EventListener onchange; - [NotEnumerable] attribute EventListener onclick; - [NotEnumerable] attribute EventListener oncontextmenu; - [NotEnumerable] attribute EventListener ondblclick; - [NotEnumerable] attribute EventListener ondrag; - [NotEnumerable] attribute EventListener ondragend; - [NotEnumerable] attribute EventListener ondragenter; - [NotEnumerable] attribute EventListener ondragleave; - [NotEnumerable] attribute EventListener ondragover; - [NotEnumerable] attribute EventListener ondragstart; - [NotEnumerable] attribute EventListener ondrop; - [NotEnumerable] attribute EventListener onerror; - [NotEnumerable] attribute EventListener onfocus; - [NotEnumerable] attribute EventListener oninput; - [NotEnumerable] attribute EventListener oninvalid; - [NotEnumerable] attribute EventListener onkeydown; - [NotEnumerable] attribute EventListener onkeypress; - [NotEnumerable] attribute EventListener onkeyup; - [NotEnumerable] attribute EventListener onload; - [NotEnumerable] attribute EventListener onmousedown; - [NotEnumerable] attribute EventListener onmouseenter; - [NotEnumerable] attribute EventListener onmouseleave; - [NotEnumerable] attribute EventListener onmousemove; - [NotEnumerable] attribute EventListener onmouseout; - [NotEnumerable] attribute EventListener onmouseover; - [NotEnumerable] attribute EventListener onmouseup; - [NotEnumerable] attribute EventListener onmousewheel; - [NotEnumerable] attribute EventListener onreadystatechange; - [NotEnumerable] attribute EventListener onscroll; - [NotEnumerable] attribute EventListener onselect; - [NotEnumerable] attribute EventListener onsubmit; - [NotEnumerable] attribute EventListener onwheel; - - // [NotEnumerable] attribute EventListener oncanplay; - // [NotEnumerable] attribute EventListener oncanplaythrough; - // [NotEnumerable] attribute EventListener ondurationchange; - // [NotEnumerable] attribute EventListener onemptied; - // [NotEnumerable] attribute EventListener onended; - // [NotEnumerable] attribute EventListener onloadeddata; - // [NotEnumerable] attribute EventListener onloadedmetadata; - // [NotEnumerable] attribute EventListener onloadstart; - // [NotEnumerable] attribute EventListener onpause; - // [NotEnumerable] attribute EventListener onplay; - // [NotEnumerable] attribute EventListener onplaying; - // [NotEnumerable] attribute EventListener onprogress; - // [NotEnumerable] attribute EventListener onratechange; - // [NotEnumerable] attribute EventListener onseeked; - // [NotEnumerable] attribute EventListener onseeking; - // [NotEnumerable] attribute EventListener onshow; - // [NotEnumerable] attribute EventListener onstalled; - // [NotEnumerable] attribute EventListener onsuspend; - // [NotEnumerable] attribute EventListener ontimeupdate; - // [NotEnumerable] attribute EventListener onvolumechange; - // [NotEnumerable] attribute EventListener onwaiting; - - // WebKit extensions - [NotEnumerable] attribute EventListener onbeforecut; - [NotEnumerable] attribute EventListener oncut; - [NotEnumerable] attribute EventListener onbeforecopy; - [NotEnumerable] attribute EventListener oncopy; - [NotEnumerable] attribute EventListener onbeforepaste; - [NotEnumerable] attribute EventListener onpaste; - [NotEnumerable] attribute EventListener onreset; - [NotEnumerable] attribute EventListener onsearch; - [NotEnumerable] attribute EventListener onselectstart; - [NotEnumerable] attribute EventListener onselectionchange; - [NotEnumerable,Conditional=TOUCH_EVENTS] attribute EventListener ontouchstart; - [NotEnumerable,Conditional=TOUCH_EVENTS] attribute EventListener ontouchmove; - [NotEnumerable,Conditional=TOUCH_EVENTS] attribute EventListener ontouchend; - [NotEnumerable,Conditional=TOUCH_EVENTS] attribute EventListener ontouchcancel; - [NotEnumerable, Conditional=FULLSCREEN_API] attribute EventListener onwebkitfullscreenchange; - [NotEnumerable, Conditional=FULLSCREEN_API] attribute EventListener onwebkitfullscreenerror; - [NotEnumerable, Conditional=POINTER_LOCK] attribute EventListener onwebkitpointerlockchange; - [NotEnumerable, Conditional=POINTER_LOCK] attribute EventListener onwebkitpointerlockerror; - [NotEnumerable, Conditional=CSP_NEXT] attribute EventListener onsecuritypolicyviolation; -#endif + readonly attribute FontFaceSet fonts; -#if defined(ENABLE_TOUCH_EVENTS) && ENABLE_TOUCH_EVENTS - // FIXME: Consider defining an ENABLE macro for iOS touch event code, say IOS_TOUCH_EVENTS, - // and/or modifying the bindings scripts to support generating more complicated conditional code. -#if defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS +#if defined(ENABLE_IOS_TOUCH_EVENTS) && ENABLE_IOS_TOUCH_EVENTS #include <WebKitAdditions/DocumentIOS.idl> -#else - [ReturnNewObject, RaisesException] Touch createTouch([Default=Undefined] optional DOMWindow window, - [Default=Undefined] optional EventTarget target, - [Default=Undefined] optional long identifier, - [Default=Undefined] optional long pageX, - [Default=Undefined] optional long pageY, - [Default=Undefined] optional long screenX, - [Default=Undefined] optional long screenY, - [Default=Undefined] optional long webkitRadiusX, - [Default=Undefined] optional long webkitRadiusY, - [Default=Undefined] optional float webkitRotationAngle, - [Default=Undefined] optional float webkitForce); - [ReturnNewObject, Custom, RaisesException] TouchList createTouchList(); -#endif // defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS -#endif - -#if defined(LANGUAGE_CPP) && LANGUAGE_CPP - // Extra WebCore methods exposed to allow compile-time casting in C++ - boolean isHTMLDocument(); +#elif defined(ENABLE_TOUCH_EVENTS) && ENABLE_TOUCH_EVENTS + [NewObject] Touch createTouch(optional DOMWindow? window = null, optional EventTarget? target = null, + optional long identifier = 0, + optional long pageX = 0, optional long pageY = 0, optional long screenX = 0, optional long screenY = 0, + optional long webkitRadiusX = 0, optional long webkitRadiusY = 0, + optional unrestricted float webkitRotationAngle = NaN, optional unrestricted float webkitForce = NaN); + [NewObject, Custom] TouchList createTouchList(Touch... touches); #endif // Page visibility API. - [Conditional=PAGE_VISIBILITY_API] readonly attribute DOMString visibilityState; - [Conditional=PAGE_VISIBILITY_API] readonly attribute boolean hidden; - - // Security Policy API: http://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html#script-interfaces - [Conditional=CSP_NEXT] readonly attribute DOMSecurityPolicy securityPolicy; + readonly attribute VisibilityState visibilityState; + readonly attribute boolean hidden; + attribute EventHandler onvisibilitychange; // currentscript API: http://www.whatwg.org/specs/web-apps/current-work/multipage/dom.html#dom-document-currentscript - readonly attribute HTMLScriptElement currentScript; + readonly attribute HTMLScriptElement? currentScript; + + // http://www.w3.org/TR/2014/WD-dom-20140204/#dom-document-origin + readonly attribute USVString origin; + + // http://dev.w3.org/csswg/cssom-view/#dom-document-scrollingelement + readonly attribute Element? scrollingElement; + + // Unique to Element and Document + // FIXME: Should these be exposed on Window as well (and therefore moved to GlobalEventHandlers.idl)? + [NotEnumerable] attribute EventHandler onbeforecopy; + [NotEnumerable] attribute EventHandler onbeforecut; + [NotEnumerable] attribute EventHandler onbeforeinput; + [NotEnumerable] attribute EventHandler onbeforepaste; + [NotEnumerable] attribute EventHandler oncopy; + [NotEnumerable] attribute EventHandler oncut; + [NotEnumerable] attribute EventHandler onpaste; + [NotEnumerable] attribute EventHandler onselectstart; + [NotEnumerable, Conditional=FULLSCREEN_API] attribute EventHandler onwebkitfullscreenchange; + [NotEnumerable, Conditional=FULLSCREEN_API] attribute EventHandler onwebkitfullscreenerror; + + // Unique to Document and HTMLBodyElement + [NotEnumerable] attribute EventHandler onselectionchange; + + // Unique to Document + [LenientThis] attribute EventHandler onreadystatechange; + [NotEnumerable, Conditional=POINTER_LOCK] attribute EventHandler onpointerlockchange; + [NotEnumerable, Conditional=POINTER_LOCK] attribute EventHandler onpointerlockerror; +}; + +enum VisibilityState { + "hidden", + "visible", + "prerender" }; +Document implements ParentNode; +Document implements NonElementParentNode; +Document implements DocumentOrShadowRoot; +Document implements GlobalEventHandlers; |