/* | |
* 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; | |
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_OBJECTIVE_C) || !LANGUAGE_OBJECTIVE_C | |
[V8Custom] DOMObject getCSSCanvasContext(in DOMString contextId, in DOMString name, in long width, in long height); | |
#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] EventListener ontouchstart; | |
attribute [DontEnum,Conditional=TOUCH_EVENTS] EventListener ontouchmove; | |
attribute [DontEnum,Conditional=TOUCH_EVENTS] EventListener ontouchend; | |
attribute [DontEnum,Conditional=TOUCH_EVENTS] EventListener ontouchcancel; | |
#endif | |
}; | |
} |