import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo

This commit is contained in:
Roy Tam 2018-01-19 03:59:58 +08:00
commit dcd9973243
150858 changed files with 23884658 additions and 0 deletions

View file

@ -0,0 +1,28 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
XPIDL_SOURCES += [
'nsIDOMAttr.idl',
'nsIDOMCDATASection.idl',
'nsIDOMCharacterData.idl',
'nsIDOMComment.idl',
'nsIDOMDocument.idl',
'nsIDOMDocumentFragment.idl',
'nsIDOMDocumentType.idl',
'nsIDOMDOMException.idl',
'nsIDOMDOMImplementation.idl',
'nsIDOMElement.idl',
'nsIDOMMozNamedAttrMap.idl',
'nsIDOMNode.idl',
'nsIDOMNodeList.idl',
'nsIDOMNSEditableElement.idl',
'nsIDOMProcessingInstruction.idl',
'nsIDOMText.idl',
'nsIDOMXMLDocument.idl',
]
XPIDL_MODULE = 'dom_core'

View file

@ -0,0 +1,29 @@
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "nsIDOMNode.idl"
/**
* The nsIDOMAttr interface represents an attribute in an "Element" object.
* Typically the allowable values for the attribute are defined in a document
* type definition.
*
* For more information on this interface please see
* http://www.w3.org/TR/DOM-Level-2-Core/
*/
[builtinclass, uuid(7db491e8-a3a3-4432-ad67-e6c33e24ac6d)]
interface nsIDOMAttr : nsIDOMNode
{
readonly attribute DOMString name;
readonly attribute boolean specified;
attribute DOMString value;
// raises(DOMException) on setting
// Introduced in DOM Level 2:
readonly attribute nsIDOMElement ownerElement;
readonly attribute boolean isId;
};

View file

@ -0,0 +1,21 @@
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "nsIDOMText.idl"
/**
* CDATA sections are used to escape blocks of text containing characters
* that would otherwise be regarded as markup.
* Their primary purpose is for including material such as XML fragments,
* without needing to escape all the delimiters.
*
* For more information on this interface please see
* http://www.w3.org/TR/DOM-Level-2-Core/
*/
[uuid(e14ef131-34cc-40c8-9c99-a403c001184a)]
interface nsIDOMCDATASection : nsIDOMText
{
};

View file

@ -0,0 +1,42 @@
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "nsIDOMNode.idl"
/**
* The nsIDOMCharacterData interface extends nsIDOMNode with a set of
* attributes and methods for accessing character data in the DOM.
*
* For more information on this interface please see
* http://www.w3.org/TR/DOM-Level-2-Core/
*/
[uuid(4109a2d2-e7af-445d-bb72-c7c9b875f35e)]
interface nsIDOMCharacterData : nsIDOMNode
{
attribute DOMString data;
// raises(DOMException) on setting
// raises(DOMException) on retrieval
readonly attribute unsigned long length;
DOMString substringData(in unsigned long offset,
in unsigned long count)
raises(DOMException);
void appendData(in DOMString arg)
raises(DOMException);
void insertData(in unsigned long offset,
in DOMString arg)
raises(DOMException);
void deleteData(in unsigned long offset,
in unsigned long count)
raises(DOMException);
void replaceData(in unsigned long offset,
in unsigned long count,
in DOMString arg)
raises(DOMException);
[binaryname(MozRemove)]
void remove();
};

View file

@ -0,0 +1,20 @@
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "nsIDOMCharacterData.idl"
/**
* The nsIDOMComment interface inherits from nsIDOMCharacterData and represents
* the content of a comment, i.e., all the characters between the starting
* '<!--' and ending '-->'.
*
* For more information on this interface please see
* http://www.w3.org/TR/DOM-Level-2-Core/
*/
[uuid(e7866ff8-b7fc-494f-87c0-fb017d8a4d30)]
interface nsIDOMComment : nsIDOMCharacterData
{
};

View file

@ -0,0 +1,52 @@
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "domstubs.idl"
/**
* In general, DOM methods return specific error values in ordinary
* processing situations, such as out-of-bound errors.
* However, DOM operations can raise exceptions in "exceptional"
* circumstances, i.e., when an operation is impossible to perform
* (either for logical reasons, because data is lost, or because the
* implementation has become unstable)
*
* For more information on this interface please see
* http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#domexception
*/
[uuid(5bd766d3-57a9-4833-995d-dbe21da29595)]
interface nsIDOMDOMException : nsISupports
{
const unsigned short INDEX_SIZE_ERR = 1;
const unsigned short DOMSTRING_SIZE_ERR = 2; // historical
const unsigned short HIERARCHY_REQUEST_ERR = 3;
const unsigned short WRONG_DOCUMENT_ERR = 4;
const unsigned short INVALID_CHARACTER_ERR = 5;
const unsigned short NO_DATA_ALLOWED_ERR = 6; // historical
const unsigned short NO_MODIFICATION_ALLOWED_ERR = 7;
const unsigned short NOT_FOUND_ERR = 8;
const unsigned short NOT_SUPPORTED_ERR = 9;
const unsigned short INUSE_ATTRIBUTE_ERR = 10; // historical
const unsigned short INVALID_STATE_ERR = 11;
const unsigned short SYNTAX_ERR = 12;
const unsigned short INVALID_MODIFICATION_ERR = 13;
const unsigned short NAMESPACE_ERR = 14;
const unsigned short INVALID_ACCESS_ERR = 15;
const unsigned short VALIDATION_ERR = 16; // historical
const unsigned short TYPE_MISMATCH_ERR = 17;
const unsigned short SECURITY_ERR = 18;
const unsigned short NETWORK_ERR = 19;
const unsigned short ABORT_ERR = 20;
const unsigned short URL_MISMATCH_ERR = 21;
const unsigned short QUOTA_EXCEEDED_ERR = 22;
const unsigned short TIMEOUT_ERR = 23;
const unsigned short INVALID_NODE_TYPE_ERR = 24;
const unsigned short DATA_CLONE_ERR = 25;
const unsigned short INVALID_POINTER_ERR = 26;
readonly attribute unsigned short code;
};

View file

@ -0,0 +1,42 @@
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "domstubs.idl"
/**
* The nsIDOMDOMImplementation interface provides a number of methods for
* performing operations that are independent of any particular instance
* of the document object model.
*
* For more information on this interface please see
* http://www.w3.org/TR/DOM-Level-2-Core/
*/
[uuid(03a6f574-99ec-42f8-9e6c-812a4a9bcbf7)]
interface nsIDOMDOMImplementation : nsISupports
{
boolean hasFeature(in DOMString feature,
in DOMString version);
nsIDOMDocumentType createDocumentType(in DOMString qualifiedName,
in DOMString publicId,
in DOMString systemId)
raises(DOMException);
nsIDOMDocument createDocument(in DOMString namespaceURI,
in DOMString qualifiedName,
in nsIDOMDocumentType doctype)
raises(DOMException);
/**
* Returns an HTML document with a basic DOM already constructed and with an
* appropriate title element.
*
* @param title the title of the Document
* @see <http://www.whatwg.org/html/#creating-documents>
*/
nsIDOMDocument createHTMLDocument([Null(Stringify)]
in DOMString title);
};

View file

@ -0,0 +1,415 @@
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "nsIDOMNode.idl"
%{ C++
#include "jspubtd.h"
// windows.h #defines CreateEvent
#ifdef CreateEvent
#undef CreateEvent
#endif
%}
interface mozIDOMWindowProxy;
interface nsIDOMNodeIterator;
interface nsIDOMNodeFilter;
interface nsIDOMTreeWalker;
interface nsIDOMLocation;
/**
* The nsIDOMDocument interface represents the entire HTML or XML document.
* Conceptually, it is the root of the document tree, and provides the
* primary access to the document's data.
* Since elements, text nodes, comments, processing instructions, etc.
* cannot exist outside the context of a Document, the nsIDOMDocument
* interface also contains the factory methods needed to create these
* objects.
*
* For more information on this interface please see
* http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html
*/
[uuid(b15fa0f4-97c1-4388-af62-2ceff7a89bdf)]
interface nsIDOMDocument : nsIDOMNode
{
readonly attribute nsIDOMDocumentType doctype;
readonly attribute nsIDOMDOMImplementation implementation;
readonly attribute nsIDOMElement documentElement;
nsIDOMElement createElement([Null(Stringify)] in DOMString tagName)
raises(DOMException);
nsIDOMDocumentFragment createDocumentFragment();
nsIDOMText createTextNode(in DOMString data);
nsIDOMComment createComment(in DOMString data);
nsIDOMCDATASection createCDATASection(in DOMString data)
raises(DOMException);
nsIDOMProcessingInstruction createProcessingInstruction(in DOMString target,
in DOMString data)
raises(DOMException);
nsIDOMAttr createAttribute(in DOMString name)
raises(DOMException);
nsIDOMNodeList getElementsByTagName(in DOMString tagname);
// Introduced in DOM Level 2:
[optional_argc] nsIDOMNode importNode(in nsIDOMNode importedNode,
[optional] in boolean deep)
raises(DOMException);
// Introduced in DOM Level 2:
nsIDOMElement createElementNS(in DOMString namespaceURI,
[Null(Stringify)] in DOMString qualifiedName)
raises(DOMException);
// Introduced in DOM Level 2:
nsIDOMAttr createAttributeNS(in DOMString namespaceURI,
in DOMString qualifiedName)
raises(DOMException);
// Introduced in DOM Level 2:
nsIDOMNodeList getElementsByTagNameNS(in DOMString namespaceURI,
in DOMString localName);
// Introduced in DOM Level 2:
nsIDOMElement getElementById(in DOMString elementId);
// Introduced in DOM Level 3:
readonly attribute DOMString inputEncoding;
// Introduced in DOM Level 3:
readonly attribute DOMString documentURI;
// Alias introduced for all documents in recent DOM standards
readonly attribute DOMString URL;
// Introduced in DOM Level 3:
nsIDOMNode adoptNode(in nsIDOMNode source)
raises(DOMException);
/**
* Create a range
*
* @see http://html5.org/specs/dom-range.html#dom-document-createrange
*/
nsIDOMRange createRange();
[optional_argc] nsIDOMNodeIterator createNodeIterator(in nsIDOMNode root,
[optional] in unsigned long whatToShow,
[optional] in nsIDOMNodeFilter filter)
raises(DOMException);
[optional_argc] nsIDOMTreeWalker createTreeWalker(in nsIDOMNode root,
[optional] in unsigned long whatToShow,
[optional] in nsIDOMNodeFilter filter)
raises(DOMException);
nsIDOMEvent createEvent(in DOMString eventType)
raises(DOMException);
// HTML
/**
* The window associated with this document.
*
* @see <http://www.whatwg.org/html/#dom-document-defaultview>
*/
readonly attribute mozIDOMWindowProxy defaultView;
/**
* @see <http://www.whatwg.org/html/#dom-document-characterset>
*/
readonly attribute DOMString characterSet;
/**
* @see <http://www.whatwg.org/html/#dom-document-dir>
*/
attribute DOMString dir;
/**
* @see <http://www.whatwg.org/html/#dom-document-location>
*/
readonly attribute nsIDOMLocation location;
/**
* @see <http://www.whatwg.org/html/#document.title>
*/
attribute DOMString title;
/**
* @see <http://www.whatwg.org/html/#dom-document-readystate>
*/
readonly attribute DOMString readyState;
/**
* @see <http://www.whatwg.org/html/#dom-document-lastmodified>
*/
readonly attribute DOMString lastModified;
/**
* @see <http://www.whatwg.org/html/#dom-document-referrer>
*/
readonly attribute DOMString referrer;
/**
* @see <http://www.whatwg.org/html/#dom-document-hasfocus>
*/
boolean hasFocus();
/**
* @see <http://www.whatwg.org/html/#dom-document-activeelement>
*/
readonly attribute nsIDOMElement activeElement;
/**
* Retrieve elements matching all classes listed in a
* space-separated string.
*
* @see <http://www.whatwg.org/html/#dom-document-getelementsbyclassname>
*/
nsIDOMNodeList getElementsByClassName(in DOMString classes);
// CSSOM
/**
* @see <http://dev.w3.org/csswg/cssom/#dom-document-stylesheets>
*/
readonly attribute nsIDOMStyleSheetList styleSheets;
/**
* This attribute must return the preferred style sheet set as set by the
* author. It is determined from the order of style sheet declarations and
* the Default-Style HTTP headers, as eventually defined elsewhere in the Web
* Apps 1.0 specification. If there is no preferred style sheet set, this
* attribute must return the empty string. The case of this attribute must
* exactly match the case given by the author where the preferred style sheet
* is specified or implied. This attribute must never return null.
*
* @see <http://dev.w3.org/csswg/cssom/#dom-document-preferredStyleSheetSet>
*/
readonly attribute DOMString preferredStyleSheetSet;
/**
* This attribute indicates which style sheet set is in use. This attribute
* is live; changing the disabled attribute on style sheets directly will
* change the value of this attribute.
*
* If all the sheets that are enabled and have a title have the same title
* (by case-sensitive comparisons) then the value of this attribute must be
* exactly equal to the title of the first enabled style sheet with a title
* in the styleSheets list. Otherwise, if style sheets from different sets
* are enabled, then the return value must be null (there is no way to
* determine what the currently selected style sheet set is in those
* conditions). Otherwise, either all style sheets that have a title are
* disabled, or there are no alternate style sheets, and
* selectedStyleSheetSet must return the empty string.
*
* Setting this attribute to the null value must have no effect.
*
* Setting this attribute to a non-null value must call
* enableStyleSheetsForSet() with that value as the function's argument, and
* set lastStyleSheetSet to that value.
*
* From the DOM's perspective, all views have the same
* selectedStyleSheetSet. If a UA supports multiple views with different
* selected alternate style sheets, then this attribute (and the StyleSheet
* interface's disabled attribute) must return and set the value for the
* default view.
*
* @see <http://dev.w3.org/csswg/cssom/#dom-document-selectedStyleSheetSet>
*/
[binaryname(MozSelectedStyleSheetSet)]
attribute DOMString selectedStyleSheetSet;
/*
* This property must initially have the value null. Its value changes when
* the selectedStyleSheetSet attribute is set.
*
* @see <http://dev.w3.org/csswg/cssom/#dom-document-lastStyleSheetSet>
*/
readonly attribute DOMString lastStyleSheetSet;
/**
* This must return the live list of the currently available style sheet
* sets. This list is constructed by enumerating all the style sheets for
* this document available to the implementation, in the order they are
* listed in the styleSheets attribute, adding the title of each style sheet
* with a title to the list, avoiding duplicates by dropping titles that
* match (case-sensitively) titles that have already been added to the
* list.
*
* @see <http://dev.w3.org/csswg/cssom/#dom-document-styleSheetSets>
*/
readonly attribute nsISupports styleSheetSets;
/**
* Calling this method must change the disabled attribute on each StyleSheet
* object with a title attribute with a length greater than 0 in the
* styleSheets attribute, so that all those whose title matches the name
* argument are enabled, and all others are disabled. Title matches must be
* case-sensitive. Calling this method with the empty string disables all
* alternate and preferred style sheets (but does not change the state of
* persistent style sheets, that is those with no title attribute).
*
* Calling this method with a null value must have no effect.
*
* Style sheets that do not have a title are never affected by this
* method. This method does not change the values of the lastStyleSheetSet or
* preferredStyleSheetSet attributes.
*
* @see <http://dev.w3.org/csswg/cssom/#dom-document-enableStyleSheetsForSet>
*/
[binaryname(MozEnableStyleSheetsForSet)]
void enableStyleSheetsForSet(in DOMString name);
// CSSOM-View
/**
* Returns the element from the caller's document at the given point,
* relative to the upper-left-most point in the (possibly scrolled)
* window or frame.
*
* If the element at the given point belongs to another document (such as
* an iframe's subdocument), the element in the calling document's DOM
* (e.g. the iframe) is returned. If the element at the given point is
* anonymous or XBL generated content, such as a textbox's scrollbars, then
* the first non-anonymous parent element (that is, the textbox) is returned.
*
* This method returns null if either coordinate is negative, or if the
* specified point lies outside the visible bounds of the document.
*
* Callers from XUL documents should wait until the onload event has fired
* before calling this method.
*
* @see <http://dev.w3.org/csswg/cssom-view/#dom-document-elementfrompoint>
*/
nsIDOMElement elementFromPoint(in float x, in float y);
// Mozilla extensions
/**
* @see <https://developer.mozilla.org/en/DOM/document.contentType>
*/
readonly attribute DOMString contentType;
/**
* True if this document is synthetic : stand alone image, video, audio file,
* etc.
*/
readonly attribute boolean mozSyntheticDocument;
/**
* Returns the script element whose script is currently being processed.
*
* @see <https://developer.mozilla.org/en/DOM/document.currentScript>
*/
readonly attribute nsIDOMElement currentScript;
/**
* Release the current mouse capture if it is on an element within this
* document.
*
* @see <https://developer.mozilla.org/en/DOM/document.releaseCapture>
*/
void releaseCapture();
/**
* Use the given DOM element as the source image of target |-moz-element()|.
*
* This function introduces a new special ID (called "image element ID"),
* which is only used by |-moz-element()|, and associates it with the given
* DOM element. Image elements ID's have the higher precedence than general
* HTML id's, so if |document.mozSetImageElement(<id>, <element>)| is called,
* |-moz-element(#<id>)| uses |<element>| as the source image even if there
* is another element with id attribute = |<id>|. To unregister an image
* element ID |<id>|, call |document.mozSetImageElement(<id>, null)|.
*
* Example:
* <script>
* canvas = document.createElement("canvas");
* canvas.setAttribute("width", 100);
* canvas.setAttribute("height", 100);
* // draw to canvas
* document.mozSetImageElement("canvasbg", canvas);
* </script>
* <div style="background-image: -moz-element(#canvasbg);"></div>
*
* @param aImageElementId an image element ID to associate with
* |aImageElement|
* @param aImageElement a DOM element to be used as the source image of
* |-moz-element(#aImageElementId)|. If this is null, the function will
* unregister the image element ID |aImageElementId|.
*
* @see <https://developer.mozilla.org/en/DOM/document.mozSetImageElement>
*/
void mozSetImageElement(in DOMString aImageElementId,
in nsIDOMElement aImageElement);
/**
* Element which is currently the full-screen element as per the DOM
* full-screen api.
*
* @see <https://wiki.mozilla.org/index.php?title=Gecko:FullScreenAPI>
*/
readonly attribute nsIDOMElement mozFullScreenElement;
/**
* Causes the document to leave DOM full-screen mode, if it's in
* full-screen mode, as per the DOM full-screen api.
*
* @see <https://wiki.mozilla.org/index.php?title=Gecko:FullScreenAPI>
*/
void mozCancelFullScreen();
/**
* Denotes whether this document is in DOM full-screen mode, as per the DOM
* full-screen api.
*
* @see <https://wiki.mozilla.org/index.php?title=Gecko:FullScreenAPI>
*/
readonly attribute boolean mozFullScreen;
/**
* Denotes whether the full-screen-api.enabled is true, no windowed
* plugins are present, and all ancestor documents have the
* allowfullscreen attribute set.
*
* @see <https://wiki.mozilla.org/index.php?title=Gecko:FullScreenAPI>
*/
readonly attribute boolean mozFullScreenEnabled;
/**
* The element to which the mouse pointer is locked, if any, as per the
* DOM pointer lock api.
*
* @see <http://dvcs.w3.org/hg/pointerlock/raw-file/default/index.html>
*/
readonly attribute nsIDOMElement mozPointerLockElement;
/**
* Retrieve the location of the caret position (DOM node and character
* offset within that node), given a point.
*
* @param x Horizontal point at which to determine the caret position, in
* page coordinates.
* @param y Vertical point at which to determine the caret position, in
* page coordinates.
*/
nsISupports /* CaretPosition */ caretPositionFromPoint(in float x, in float y);
/**
* Exit pointer is lock if locked, as per the DOM pointer lock api.
*
* @see <http://dvcs.w3.org/hg/pointerlock/raw-file/default/index.html>
*/
void mozExitPointerLock();
/**
* Visibility API implementation.
*/
readonly attribute boolean hidden;
readonly attribute DOMString visibilityState;
/**
* Returns "BackCompat" if we're in quirks mode or "CSS1Compat" if we're in
* strict mode. (XML documents are always in strict mode.)
*/
readonly attribute DOMString compatMode;
/**
* Return nodes that match a given CSS selector.
*
* @see <http://dev.w3.org/2006/webapi/selectors-api/>
*/
nsIDOMElement querySelector([Null(Stringify)] in DOMString selectors);
nsIDOMNodeList querySelectorAll([Null(Stringify)] in DOMString selectors);
};

View file

@ -0,0 +1,27 @@
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "nsIDOMNode.idl"
/**
* DocumentFragment is a "lightweight" or "minimal" Document object.
* nsIDOMDocumentFragment is used in situations where the Document
* interface can potentially be a heavyweight interface.
*
* For more information on this interface please see
* http://www.w3.org/TR/DOM-Level-2-Core/
*/
[builtinclass, uuid(48eb8d72-95bb-402e-a8fc-f2b187abcbdb)]
interface nsIDOMDocumentFragment : nsIDOMNode
{
/**
* Return nodes that match a given CSS selector.
*
* @see <http://dev.w3.org/2006/webapi/selectors-api/>
*/
nsIDOMElement querySelector([Null(Stringify)] in DOMString selectors);
nsIDOMNodeList querySelectorAll([Null(Stringify)] in DOMString selectors);
};

View file

@ -0,0 +1,28 @@
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "nsIDOMNode.idl"
/**
* Each Document has a doctype attribute whose value is either null
* or a DocumentType object.
* The nsIDOMDocumentType interface in the DOM Core provides an
* interface to the list of entities that are defined for the document.
*
* For more information on this interface please see
* http://www.w3.org/TR/DOM-Level-2-Core/
*/
[uuid(cd7467b9-0f26-4787-a359-66e80ba8db92)]
interface nsIDOMDocumentType : nsIDOMNode
{
readonly attribute DOMString name;
readonly attribute DOMString publicId;
readonly attribute DOMString systemId;
readonly attribute DOMString internalSubset;
[binaryname(MozRemove)]
void remove();
};

View file

@ -0,0 +1,229 @@
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "nsIDOMNode.idl"
interface nsIDOMMozNamedAttrMap;
%{C++
// Undo the windows.h damage
#undef GetMessage
#undef CreateEvent
#undef GetClassName
#undef GetBinaryType
#undef RemoveDirectory
%}
/**
* The nsIDOMElement interface represents an element in an HTML or
* XML document.
*
* For more information on this interface please see
* http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#interface-element
*/
[uuid(6289999b-1008-4269-b42a-413ec5a9d3f4)]
interface nsIDOMElement : nsIDOMNode
{
readonly attribute DOMString tagName;
attribute DOMString id;
attribute DOMString className;
/**
* Returns a DOMTokenList object reflecting the class attribute.
*/
readonly attribute nsISupports classList;
readonly attribute nsIDOMMozNamedAttrMap attributes;
DOMString getAttribute(in DOMString name);
DOMString getAttributeNS(in DOMString namespaceURI,
in DOMString localName);
void setAttribute(in DOMString name,
in DOMString value);
void setAttributeNS(in DOMString namespaceURI,
in DOMString qualifiedName,
in DOMString value);
void removeAttribute(in DOMString name);
void removeAttributeNS(in DOMString namespaceURI,
in DOMString localName);
boolean hasAttribute(in DOMString name);
boolean hasAttributeNS(in DOMString namespaceURI,
in DOMString localName);
boolean hasAttributes();
// Obsolete methods.
nsIDOMAttr getAttributeNode(in DOMString name);
nsIDOMAttr setAttributeNode(in nsIDOMAttr newAttr);
nsIDOMAttr removeAttributeNode(in nsIDOMAttr oldAttr);
nsIDOMAttr getAttributeNodeNS(in DOMString namespaceURI,
in DOMString localName);
nsIDOMAttr setAttributeNodeNS(in nsIDOMAttr newAttr)
raises(DOMException);
nsIDOMHTMLCollection getElementsByTagName(in DOMString name);
nsIDOMHTMLCollection getElementsByTagNameNS(in DOMString namespaceURI,
in DOMString localName);
/**
* Retrieve elements matching all classes listed in a
* space-separated string.
*/
nsIDOMHTMLCollection getElementsByClassName(in DOMString classes);
/**
* Returns a live nsIDOMNodeList of the current child elements.
*/
[binaryname(ChildElements)]
readonly attribute nsIDOMNodeList children;
/**
* Similar as the attributes on nsIDOMNode, but navigates just elements
* rather than all nodes.
*/
readonly attribute nsIDOMElement firstElementChild;
readonly attribute nsIDOMElement lastElementChild;
readonly attribute nsIDOMElement previousElementSibling;
readonly attribute nsIDOMElement nextElementSibling;
/**
* Returns the number of child nodes that are nsIDOMElements.
*/
readonly attribute unsigned long childElementCount;
[binaryname(MozRemove)]
void remove();
// CSSOM View
/**
* Retrieve a list of rectangles, one for each CSS border-box associated with
* the element. The coordinates are in CSS pixels, and relative to
* the top-left of the document's viewport, unless the document
* has an SVG foreignobject ancestor, in which case the coordinates are
* relative to the top-left of the content box of the nearest SVG foreignobject
* ancestor. The coordinates are calculated as if every scrollable element
* is scrolled to its default position.
*
* Note: the boxes of overflowing children do not affect these rectangles.
* Note: some elements have empty CSS boxes. Those return empty rectangles,
* but the coordinates may still be meaningful.
* Note: some elements have no CSS boxes (including display:none elements,
* HTML AREA elements, and SVG elements that do not render). Those return
* an empty list.
*/
nsIDOMClientRectList getClientRects();
/**
* Returns the union of all rectangles in the getClientRects() list. Empty
* rectangles are ignored, except that if all rectangles are empty,
* we return an empty rectangle positioned at the top-left of the first
* rectangle in getClientRects().
*/
nsIDOMClientRect getBoundingClientRect();
/**
* The vertical scroll position of the element, or 0 if the element is not
* scrollable. This property may be assigned a value to change the
* vertical scroll position.
*/
attribute long scrollTop;
/**
* The horizontal scroll position of the element, or 0 if the element is not
* scrollable. This property may be assigned a value to change the
* horizontal scroll position.
*/
attribute long scrollLeft;
/**
* The width of the scrollable area of the element. If the element is not
* scrollable, scrollWidth is equivalent to the offsetWidth.
*/
readonly attribute long scrollWidth;
/**
* The height of the scrollable area of the element. If the element is not
* scrollable, scrollHeight is equivalent to the offsetHeight.
*/
readonly attribute long scrollHeight;
/**
* The height in CSS pixels of the element's top border.
*/
readonly attribute long clientTop;
/**
* The width in CSS pixels of the element's left border and scrollbar
* if it is present on the left side.
*/
readonly attribute long clientLeft;
/**
* The height in CSS pixels of the element's padding box. If the element is
* scrollable, the scroll bars are included inside this width.
*/
readonly attribute long clientWidth;
/**
* The width in CSS pixels of the element's padding box. If the element is
* scrollable, the scroll bars are included inside this height.
*/
readonly attribute long clientHeight;
/* The maximum offset that the element can be scrolled to
(i.e., the value that scrollLeft/scrollTop would be clamped to if they were
set to arbitrarily large values. */
readonly attribute long scrollLeftMax;
readonly attribute long scrollTopMax;
// Selectors API
/**
* Returns whether this element would be selected by the given selector
* string.
*
* See <http://dev.w3.org/2006/webapi/selectors-api2/#matchesselector>
*/
boolean mozMatchesSelector([Null(Stringify)] in DOMString selector);
// Proprietary extensions
/**
* Set this during a mousedown event to grab and retarget all mouse events
* to this element until the mouse button is released or releaseCapture is
* called. If retargetToElement is true, then all events are targetted at
* this element. If false, events can also fire at descendants of this
* element.
*
*/
void setCapture([optional] in boolean retargetToElement);
/**
* If this element has captured the mouse, release the capture. If another
* element has captured the mouse, this method has no effect.
*/
void releaseCapture();
// Mozilla extensions
/**
* Requests that this element be made the full-screen element, as per the DOM
* full-screen api.
*
* @see <https://wiki.mozilla.org/index.php?title=Gecko:FullScreenAPI>
*/
void mozRequestFullScreen();
/**
* Requests that this element be made the pointer-locked element, as per the DOM
* pointer lock api.
*
* @see <http://dvcs.w3.org/hg/pointerlock/raw-file/default/index.html>
*/
void mozRequestPointerLock();
/**
* Return nodes that match a given CSS selector.
*
* @see <http://dev.w3.org/2006/webapi/selectors-api/>
*/
nsIDOMElement querySelector([Null(Stringify)] in DOMString selectors);
nsIDOMNodeList querySelectorAll([Null(Stringify)] in DOMString selectors);
};

View file

@ -0,0 +1,33 @@
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "domstubs.idl"
/**
* This is a temporary, non-standard interface, to ease the transition to a
* world where Attr no longer inherits from Node.
*/
[uuid(cb5564cd-26ec-418f-a6d6-1d57cd2c971c)]
interface nsIDOMMozNamedAttrMap : nsISupports
{
nsIDOMAttr getNamedItem(in DOMString name);
nsIDOMAttr setNamedItem(in nsIDOMAttr arg)
raises(DOMException);
nsIDOMAttr removeNamedItem(in DOMString name)
raises(DOMException);
nsIDOMAttr item(in unsigned long index);
readonly attribute unsigned long length;
// Introduced in DOM Level 2:
nsIDOMAttr getNamedItemNS(in DOMString namespaceURI,
in DOMString localName);
// Introduced in DOM Level 2:
nsIDOMAttr setNamedItemNS(in nsIDOMAttr arg)
raises(DOMException);
// Introduced in DOM Level 2:
nsIDOMAttr removeNamedItemNS(in DOMString namespaceURI,
in DOMString localName)
raises(DOMException);
};

View file

@ -0,0 +1,28 @@
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "nsISupports.idl"
interface nsIEditor;
/**
* This interface is implemented by elements which have inner editable content,
* such as HTML input and textarea.
*
* Please make sure to update the HTMLTextAreaElement and HTMLInputElement
* Web IDL interfaces to mirror this interface when changing it.
*
*/
[scriptable, uuid(3503de34-6631-4594-b7be-c36ff6a520c4)]
interface nsIDOMNSEditableElement : nsISupports
{
[noscript] readonly attribute nsIEditor editor;
// This is similar to set .value on nsIDOMInput/TextAreaElements, but
// handling of the value change is closer to the normal user input, so
// 'change' event for example will be dispatched when focusing out the
// element.
[noscript] void setUserInput(in DOMString input);
};

View file

@ -0,0 +1,111 @@
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "domstubs.idl"
interface nsIVariant;
/**
* The nsIDOMNode interface is the primary datatype for the entire
* Document Object Model.
* It represents a single node in the document tree.
*
* For more information on this interface please see
* http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html
*/
[uuid(cc35b412-009b-46a3-9be0-76448f12548d)]
interface nsIDOMNode : nsISupports
{
const unsigned short ELEMENT_NODE = 1;
const unsigned short ATTRIBUTE_NODE = 2;
const unsigned short TEXT_NODE = 3;
const unsigned short CDATA_SECTION_NODE = 4;
const unsigned short ENTITY_REFERENCE_NODE = 5;
const unsigned short ENTITY_NODE = 6;
const unsigned short PROCESSING_INSTRUCTION_NODE = 7;
const unsigned short COMMENT_NODE = 8;
const unsigned short DOCUMENT_NODE = 9;
const unsigned short DOCUMENT_TYPE_NODE = 10;
const unsigned short DOCUMENT_FRAGMENT_NODE = 11;
const unsigned short NOTATION_NODE = 12;
readonly attribute DOMString nodeName;
attribute DOMString nodeValue;
// raises(DOMException) on setting
// raises(DOMException) on retrieval
readonly attribute unsigned short nodeType;
readonly attribute nsIDOMNode parentNode;
readonly attribute nsIDOMElement parentElement;
readonly attribute nsIDOMNodeList childNodes;
readonly attribute nsIDOMNode firstChild;
readonly attribute nsIDOMNode lastChild;
readonly attribute nsIDOMNode previousSibling;
readonly attribute nsIDOMNode nextSibling;
// Modified in DOM Level 2:
readonly attribute nsIDOMDocument ownerDocument;
nsIDOMNode insertBefore(in nsIDOMNode newChild,
in nsIDOMNode refChild)
raises(DOMException);
nsIDOMNode replaceChild(in nsIDOMNode newChild,
in nsIDOMNode oldChild)
raises(DOMException);
nsIDOMNode removeChild(in nsIDOMNode oldChild)
raises(DOMException);
nsIDOMNode appendChild(in nsIDOMNode newChild)
raises(DOMException);
boolean hasChildNodes();
// Modified in DOM Level 4:
[optional_argc] nsIDOMNode cloneNode([optional] in boolean deep);
// Modified in DOM Level 2:
void normalize();
// Introduced in DOM Level 2:
readonly attribute DOMString namespaceURI;
// Modified in DOM Core
readonly attribute DOMString prefix;
// Introduced in DOM Level 2:
readonly attribute DOMString localName;
// For vtable compatibility (see bug 1078674)
[noscript] bool unusedPlaceholder();
// Introduced in DOM Level 3:
// This uses a binaryname to avoid warnings due to name collision with
// nsINode::GetBaseURI
[binaryname(DOMBaseURI)] readonly attribute DOMString baseURI;
// DocumentPosition
const unsigned short DOCUMENT_POSITION_DISCONNECTED = 0x01;
const unsigned short DOCUMENT_POSITION_PRECEDING = 0x02;
const unsigned short DOCUMENT_POSITION_FOLLOWING = 0x04;
const unsigned short DOCUMENT_POSITION_CONTAINS = 0x08;
const unsigned short DOCUMENT_POSITION_CONTAINED_BY = 0x10;
const unsigned short DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = 0x20;
// Introduced in DOM Level 3:
unsigned short compareDocumentPosition(in nsIDOMNode other)
raises(DOMException);
// Introduced in DOM Level 3:
attribute DOMString textContent;
// raises(DOMException) on setting
// raises(DOMException) on retrieval
// Introduced in DOM Level 3:
DOMString lookupPrefix(in DOMString namespaceURI);
// Introduced in DOM Level 3:
boolean isDefaultNamespace(in DOMString namespaceURI);
// Introduced in DOM Level 3:
DOMString lookupNamespaceURI(in DOMString prefix);
// Introduced in DOM Level 3:
boolean isEqualNode(in nsIDOMNode arg);
// Introduced in DOM Level 3:
nsIVariant setUserData(in DOMString key,
in nsIVariant data);
// Introduced in DOM Level 3:
nsIVariant getUserData(in DOMString key);
boolean contains(in nsIDOMNode aOther);
};

View file

@ -0,0 +1,25 @@
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "domstubs.idl"
/**
* The nsIDOMNodeList interface provides the abstraction of an ordered
* collection of nodes, without defining or constraining how this collection
* is implemented.
* The items in the list are accessible via an integral index, starting from 0.
*
* For more information on this interface please see
* http://www.w3.org/TR/DOM-Level-2-Core/
*/
// NOTE: Please do not attempt to make this not scriptable,
// see https://bugzilla.mozilla.org/show_bug.cgi?id=994964#c73.
[scriptable, uuid(450cf0ba-de90-4f86-85bf-e10cc8b8713f)]
interface nsIDOMNodeList : nsISupports
{
nsIDOMNode item(in unsigned long index);
readonly attribute unsigned long length;
};

View file

@ -0,0 +1,22 @@
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "nsIDOMCharacterData.idl"
/**
* The nsIDOMProcessingInstruction interface represents a
* "processing instruction", used in XML as a way to keep processor-specific
* information in the text of the document.
*
* For more information on this interface please see
* http://www.w3.org/TR/DOM-Level-2-Core/ and
* http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html
*/
[uuid(5a139df7-04d0-438d-bd18-d8122564258f)]
interface nsIDOMProcessingInstruction : nsIDOMCharacterData
{
readonly attribute DOMString target;
};

View file

@ -0,0 +1,29 @@
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "nsIDOMCharacterData.idl"
/**
* The nsIDOMText interface inherits from nsIDOMCharacterData and represents
* the textual content (termed character data in XML) of an Element or Attr.
*
* For more information on this interface please see
* http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html
*/
[uuid(67273994-6aff-4091-9de9-b788a249f783)]
interface nsIDOMText : nsIDOMCharacterData
{
nsIDOMText splitText(in unsigned long offset)
raises(DOMException);
/**
* The concatenation of all logically adjacent text nodes with this text
* node, where "logically adjacent" consists of all text nodes which can be
* reached by traversing the document tree in either direction without
* passing an element, comment, or processing-instruction boundary.
*/
readonly attribute DOMString wholeText;
};

View file

@ -0,0 +1,15 @@
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "nsISupports.idl"
// The only reason this interface still exists is that we have addon and Firefox
// code QIing to it and using it for instanceof via Components.interfaces, and
// the interface needs to exist in order for the shim stuff in
// xpcom/reflect/xptinfo/ShimInterfaceInfo.cpp to work.
[uuid(89ab39cb-c568-4d85-bd34-306d5cd5164d)]
interface nsIDOMXMLDocument : nsISupports
{
};