--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/WebCore/dom/Document.idl Fri Sep 17 09:02:29 2010 +0300
@@ -0,0 +1,332 @@
+/*
+ * Copyright (C) 2006, 2007 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
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; see the file COPYING.LIB. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+module core {
+
+ interface [
+ CustomToJS,
+ GenerateNativeConverter,
+ CustomMarkFunction,
+ InlineGetOwnPropertySlot
+ ] Document : Node {
+
+ // DOM Level 1 Core
+ readonly attribute DocumentType doctype;
+ readonly attribute [V8Custom] DOMImplementation implementation;
+ readonly attribute Element documentElement;
+
+ [ReturnsNew] Element createElement(in [ConvertNullToNullString] DOMString tagName)
+ raises (DOMException);
+ DocumentFragment createDocumentFragment();
+ [ReturnsNew] Text createTextNode(in DOMString data);
+ [ReturnsNew] Comment createComment(in DOMString data);
+ [ReturnsNew] CDATASection createCDATASection(in DOMString data)
+ raises(DOMException);
+ [OldStyleObjC, ReturnsNew] ProcessingInstruction createProcessingInstruction(in DOMString target,
+ in DOMString data)
+ raises (DOMException);
+ [ReturnsNew] Attr createAttribute(in DOMString name)
+ raises (DOMException);
+ [ReturnsNew] EntityReference createEntityReference(in DOMString name)
+ raises(DOMException);
+ NodeList getElementsByTagName(in DOMString tagname);
+
+ // Introduced in DOM Level 2:
+
+ [OldStyleObjC, ReturnsNew] Node importNode(in Node importedNode,
+ in boolean deep)
+ raises (DOMException);
+ [OldStyleObjC, ReturnsNew] Element createElementNS(in [ConvertNullToNullString] DOMString namespaceURI,
+ in [ConvertNullToNullString] DOMString qualifiedName)
+ raises (DOMException);
+ [OldStyleObjC, ReturnsNew] Attr createAttributeNS(in [ConvertNullToNullString] DOMString namespaceURI,
+ in [ConvertNullToNullString] DOMString qualifiedName)
+ raises (DOMException);
+ [OldStyleObjC] NodeList getElementsByTagNameNS(in [ConvertNullToNullString] DOMString namespaceURI,
+ in DOMString localName);
+ Element getElementById(in DOMString elementId);
+
+ // DOM Level 3 Core
+
+ readonly attribute [ConvertNullStringTo=Null] DOMString inputEncoding;
+
+ readonly attribute [ConvertNullStringTo=Null] DOMString xmlEncoding;
+ attribute [ConvertNullStringTo=Null, ConvertNullToNullString] DOMString xmlVersion
+ setter raises (DOMException);
+ attribute boolean xmlStandalone
+ setter raises (DOMException);
+
+ Node adoptNode(in Node source)
+ raises (DOMException);
+
+ attribute [ConvertNullStringTo=Null, ConvertNullToNullString] DOMString documentURI;
+
+ // DOM Level 2 Events (DocumentEvents interface)
+
+ Event createEvent(in DOMString eventType)
+ raises(DOMException);
+
+ // DOM Level 2 Tranversal and Range (DocumentRange interface)
+
+ Range createRange();
+
+ // DOM Level 2 Tranversal and Range (DocumentTraversal interface)
+
+ [OldStyleObjC] NodeIterator createNodeIterator(in Node root,
+ in unsigned long whatToShow,
+ in NodeFilter filter,
+ in boolean expandEntityReferences)
+ raises(DOMException);
+ [OldStyleObjC] TreeWalker createTreeWalker(in Node root,
+ in unsigned long whatToShow,
+ in NodeFilter filter,
+ in boolean expandEntityReferences)
+ raises(DOMException);
+
+ // DOM Level 2 Abstract Views (DocumentView interface)
+
+ readonly attribute DOMWindow defaultView;
+
+ // DOM Level 2 Style (DocumentStyle interface)
+
+ readonly attribute StyleSheetList styleSheets;
+
+ // DOM Level 2 Style (DocumentCSS interface)
+
+ [OldStyleObjC] CSSStyleDeclaration getOverrideStyle(in Element element,
+ in DOMString pseudoElement);
+#if defined(ENABLE_XPATH) && ENABLE_XPATH
+ // DOM Level 3 XPath (XPathEvaluator interface)
+ [OldStyleObjC] XPathExpression createExpression(in DOMString expression,
+ in XPathNSResolver resolver)
+ raises(DOMException);
+ XPathNSResolver createNSResolver(in Node nodeResolver);
+ [OldStyleObjC, V8Custom] XPathResult evaluate(in DOMString expression,
+ in Node contextNode,
+ in XPathNSResolver resolver,
+ in unsigned short type,
+ in XPathResult inResult)
+ raises(DOMException);
+#endif // ENABLE_XPATH
+
+ // Common extensions
+
+ boolean execCommand(in DOMString command,
+ in boolean userInterface,
+ in [ConvertUndefinedOrNullToNullString] 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(in DOMString command,
+ in boolean userInterface);
+ boolean execCommand(in DOMString command);
+#endif
+
+ boolean queryCommandEnabled(in DOMString command);
+ boolean queryCommandIndeterm(in DOMString command);
+ boolean queryCommandState(in DOMString command);
+ boolean queryCommandSupported(in DOMString command);
+ [ConvertNullStringTo=False] DOMString queryCommandValue(in DOMString command);
+
+ // Moved down from HTMLDocument
+
+ attribute [ConvertNullToNullString] DOMString title;
+ readonly attribute DOMString referrer;
+#if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT
+ attribute [ConvertNullToNullString] DOMString domain
+ setter raises (DOMException);
+#else
+ readonly attribute DOMString domain;
+#endif
+ readonly attribute DOMString URL;
+
+ attribute [ConvertNullToNullString] DOMString cookie
+ setter raises (DOMException),
+ getter raises (DOMException);
+
+ // FIXME: the DOM spec does NOT have this attribute
+ // raising an exception.
+ attribute HTMLElement body
+ setter raises (DOMException);
+
+ 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 DOMString lastModified;
+
+ NodeList getElementsByName(in DOMString elementName);
+
+#if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT
+ attribute [Custom] Location location;
+#endif
+
+ // IE extensions
+
+ attribute [ConvertNullStringTo=Undefined, ConvertNullToNullString] DOMString charset;
+ readonly attribute [ConvertNullStringTo=Undefined] DOMString defaultCharset;
+ readonly attribute [ConvertNullStringTo=Undefined] DOMString readyState;
+
+
+ NodeList nodesFromRect(in long x, in long y,
+ in unsigned long hPadding,
+ in unsigned long vPadding,
+ in boolean ignoreClipping);
+ Element elementFromPoint(in long x, in long y);
+ Range caretRangeFromPoint(in long x, in long y);
+
+ // Mozilla extensions
+#if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT
+ DOMSelection getSelection();
+#endif
+ readonly attribute [ConvertNullStringTo=Null] DOMString characterSet;
+
+ // WebKit extensions
+
+ readonly attribute [ConvertNullStringTo=Null] DOMString preferredStylesheetSet;
+ attribute [ConvertNullStringTo=Null, ConvertNullToNullString] DOMString selectedStylesheetSet;
+
+#if !defined(LANGUAGE_JAVASCRIPT) || !LANGUAGE_JAVASCRIPT
+ CSSStyleDeclaration createCSSStyleDeclaration();
+#endif
+
+#if defined(LANGUAGE_OBJECTIVE_C) && LANGUAGE_OBJECTIVE_C
+ // DOM Level 2 Style Interface
+ [OldStyleObjC, UsesView] CSSStyleDeclaration getComputedStyle(in Element element,
+ in DOMString pseudoElement);
+
+ // WebKit extension
+ // FIXME: remove the first version once [Optional] is implemented for Objective-C.
+ [UsesView] CSSRuleList getMatchedCSSRules(in Element element,
+ in DOMString pseudoElement);
+ [UsesView] CSSRuleList getMatchedCSSRules(in Element element,
+ in DOMString pseudoElement,
+ in [Optional] boolean authorOnly);
+
+#endif
+
+#if !defined(LANGUAGE_CPP) || !LANGUAGE_CPP
+#if !defined(LANGUAGE_OBJECTIVE_C) || !LANGUAGE_OBJECTIVE_C
+ [V8Custom] DOMObject getCSSCanvasContext(in DOMString contextId, in DOMString name, in long width, in long height);
+#endif
+#endif
+
+ // HTML 5
+ NodeList getElementsByClassName(in DOMString tagname);
+
+ // NodeSelector - Selector API
+ Element querySelector(in DOMString selectors)
+ raises(DOMException);
+ NodeList querySelectorAll(in DOMString selectors)
+ raises(DOMException);
+
+#if defined(ENABLE_WML) && ENABLE_WML
+ // Only used from within WML layout tests, WML doesn't have JS support at all.
+ [DontEnum] void resetWMLPageState();
+ [DontEnum] void initializeWMLPageState();
+#endif
+
+#if !defined(LANGUAGE_OBJECTIVE_C) || !LANGUAGE_OBJECTIVE_C
+ // Event handler DOM attributes
+ attribute [DontEnum] EventListener onabort;
+ attribute [DontEnum] EventListener onblur;
+ attribute [DontEnum] EventListener onchange;
+ attribute [DontEnum] EventListener onclick;
+ attribute [DontEnum] EventListener oncontextmenu;
+ attribute [DontEnum] EventListener ondblclick;
+ attribute [DontEnum] EventListener ondrag;
+ attribute [DontEnum] EventListener ondragend;
+ attribute [DontEnum] EventListener ondragenter;
+ attribute [DontEnum] EventListener ondragleave;
+ attribute [DontEnum] EventListener ondragover;
+ attribute [DontEnum] EventListener ondragstart;
+ attribute [DontEnum] EventListener ondrop;
+ attribute [DontEnum] EventListener onerror;
+ attribute [DontEnum] EventListener onfocus;
+ attribute [DontEnum] EventListener oninput;
+ attribute [DontEnum] EventListener oninvalid;
+ attribute [DontEnum] EventListener onkeydown;
+ attribute [DontEnum] EventListener onkeypress;
+ attribute [DontEnum] EventListener onkeyup;
+ attribute [DontEnum] EventListener onload;
+ attribute [DontEnum] EventListener onmousedown;
+ attribute [DontEnum] EventListener onmousemove;
+ attribute [DontEnum] EventListener onmouseout;
+ attribute [DontEnum] EventListener onmouseover;
+ attribute [DontEnum] EventListener onmouseup;
+ attribute [DontEnum] EventListener onmousewheel;
+ attribute [DontEnum] EventListener onscroll;
+ attribute [DontEnum] EventListener onselect;
+ attribute [DontEnum] EventListener onsubmit;
+
+ // attribute [DontEnum] EventListener oncanplay;
+ // attribute [DontEnum] EventListener oncanplaythrough;
+ // attribute [DontEnum] EventListener ondurationchange;
+ // attribute [DontEnum] EventListener onemptied;
+ // attribute [DontEnum] EventListener onended;
+ // attribute [DontEnum] EventListener onformchange;
+ // attribute [DontEnum] EventListener onforminput;
+ // attribute [DontEnum] EventListener onloadeddata;
+ // attribute [DontEnum] EventListener onloadedmetadata;
+ // attribute [DontEnum] EventListener onloadstart;
+ // attribute [DontEnum] EventListener onpause;
+ // attribute [DontEnum] EventListener onplay;
+ // attribute [DontEnum] EventListener onplaying;
+ // attribute [DontEnum] EventListener onprogress;
+ // attribute [DontEnum] EventListener onratechange;
+ // attribute [DontEnum] EventListener onreadystatechange;
+ // attribute [DontEnum] EventListener onseeked;
+ // attribute [DontEnum] EventListener onseeking;
+ // attribute [DontEnum] EventListener onshow;
+ // attribute [DontEnum] EventListener onstalled;
+ // attribute [DontEnum] EventListener onsuspend;
+ // attribute [DontEnum] EventListener ontimeupdate;
+ // attribute [DontEnum] EventListener onvolumechange;
+ // attribute [DontEnum] EventListener onwaiting;
+
+ // WebKit extensions
+ attribute [DontEnum] EventListener onbeforecut;
+ attribute [DontEnum] EventListener oncut;
+ attribute [DontEnum] EventListener onbeforecopy;
+ attribute [DontEnum] EventListener oncopy;
+ attribute [DontEnum] EventListener onbeforepaste;
+ attribute [DontEnum] EventListener onpaste;
+ attribute [DontEnum] EventListener onreset;
+ attribute [DontEnum] EventListener onsearch;
+ attribute [DontEnum] EventListener onselectstart;
+ attribute [DontEnum,Conditional=TOUCH_EVENTS,EnabledAtRuntime] EventListener ontouchstart;
+ attribute [DontEnum,Conditional=TOUCH_EVENTS,EnabledAtRuntime] EventListener ontouchmove;
+ attribute [DontEnum,Conditional=TOUCH_EVENTS,EnabledAtRuntime] EventListener ontouchend;
+ attribute [DontEnum,Conditional=TOUCH_EVENTS,EnabledAtRuntime] EventListener ontouchcancel;
+ attribute [DontEnum,Conditional=TRANSFORMACTION_EVENTS,EnabledAtRuntime] EventListener ontransformactionstart;
+ attribute [DontEnum,Conditional=TRANSFORMACTION_EVENTS,EnabledAtRuntime] EventListener ontransformactionupdate;
+ attribute [DontEnum,Conditional=TRANSFORMACTION_EVENTS,EnabledAtRuntime] EventListener ontransformactionend;
+#endif
+
+#if defined(LANGUAGE_CPP) && LANGUAGE_CPP
+ // Extra WebCore methods exposed to allow compile-time casting in C++
+ boolean isHTMLDocument();
+#endif
+
+ };
+
+}