/* * 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 [ GenerateConstructor, GenerateToJS, CustomMarkFunction, InterfaceUUID=48BB95FC-2D08-4c54-BE65-7558736A4CAE, ImplementationUUID=FF5CBE81-F817-429c-A6C2-0CCCD2328062 ] Document : EventTargetNode { // DOM Level 1 Core readonly attribute DocumentType doctype; readonly attribute DOMImplementation implementation; readonly attribute Element documentElement; Element createElement(in DOMString tagName) raises (DOMException); DocumentFragment createDocumentFragment(); Text createTextNode(in DOMString data); Comment createComment(in DOMString data); CDATASection createCDATASection(in DOMString data) raises(DOMException); [OldStyleObjC] ProcessingInstruction createProcessingInstruction(in DOMString target, in DOMString data) raises (DOMException); Attr createAttribute(in DOMString name) raises (DOMException); EntityReference createEntityReference(in DOMString name) raises(DOMException); NodeList getElementsByTagName(in DOMString tagname); // Introduced in DOM Level 2: [OldStyleObjC] Node importNode(in Node importedNode, in boolean deep) raises (DOMException); [OldStyleObjC] Element createElementNS(in [ConvertNullToNullString] DOMString namespaceURI, in DOMString qualifiedName) raises (DOMException); [OldStyleObjC] Attr createAttributeNS(in [ConvertNullToNullString] DOMString namespaceURI, in 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; #if !defined(LANGUAGE_COM) // 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) #if !defined(LANGUAGE_OBJECTIVE_C) NodeIterator createNodeIterator(in Node root, in unsigned long whatToShow, in NodeFilter filter, in boolean entityReferenceExpansion) raises(DOMException); TreeWalker createTreeWalker(in Node root, in unsigned long whatToShow, in NodeFilter filter, in boolean entityReferenceExpansion) raises(DOMException); #endif // !defined(LANGUAGE_OBJECTIVE_C) // 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); #ifdef 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] XPathResult evaluate(in DOMString expression, in Node contextNode, in XPathNSResolver resolver, in unsigned short type, in XPathResult inResult) raises(DOMException); #endif // ENABLE_XPATH #endif // !defined(LANGUAGE_COM) // Common extensions boolean execCommand(in DOMString command, in boolean userInterface, in [ConvertUndefinedOrNullToNullString] DOMString value); #if defined(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) attribute [ConvertNullToNullString] DOMString domain; #else readonly attribute DOMString domain; #endif readonly attribute DOMString URL; // FIXME: the DOM spec states that this attribute can // raise an exception on setting. attribute [ConvertNullToNullString] DOMString cookie /*setter raises (DOMException)*/; // FIXME: the DOM spec does NOT have this attribute // raising an exception. attribute HTMLElement body setter raises (DOMException); readonly attribute HTMLCollection images; readonly attribute HTMLCollection applets; readonly attribute HTMLCollection links; readonly attribute HTMLCollection forms; readonly attribute HTMLCollection anchors; NodeList getElementsByName(in DOMString elementName); #if defined(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); // Mozilla extensions readonly attribute [ConvertNullStringTo=Null] DOMString characterSet; // WebKit extensions readonly attribute [ConvertNullStringTo=Null] DOMString preferredStylesheetSet; attribute [ConvertNullStringTo=Null, ConvertNullToNullString] DOMString selectedStylesheetSet; #if !defined(LANGUAGE_COM) #if !defined(LANGUAGE_JAVASCRIPT) CSSStyleDeclaration createCSSStyleDeclaration(); #endif #endif #if defined(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 }; }