diff -r 000000000000 -r 4f2f89ce4247 WebCore/dom/Document.idl --- /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 + * + * 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 + + }; + +}