/* * 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., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ module core { interface [GenerateConstructor, GenerateToJS, CustomMarkFunction] 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; // 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 // 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 // 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); // IE extensions #if !defined(LANGUAGE_OBJECTIVE_C) readonly attribute DOMString URL; #endif 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_JAVASCRIPT) CSSStyleDeclaration createCSSStyleDeclaration(); #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 }; }