summaryrefslogtreecommitdiff
path: root/Source/WebCore/dom/Document.idl
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/dom/Document.idl')
-rw-r--r--Source/WebCore/dom/Document.idl407
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;