mirror of
https://github.com/RGBCube/serenity
synced 2025-07-14 12:57:36 +00:00

While looking into getting Duck Duck Go loading further in the Browser, I noticed that it was complaining about the missing method Node.compareDocumentPosition. This change implements as much of the DOM spec as possible with the current implementation of the DOM to date. The implementation is validated by new tests in the Node.js.
43 lines
1.8 KiB
Text
43 lines
1.8 KiB
Text
interface Node : EventTarget {
|
|
|
|
readonly attribute unsigned short nodeType;
|
|
readonly attribute DOMString nodeName;
|
|
|
|
boolean hasChildNodes();
|
|
// FIXME: This should be a NodeList
|
|
readonly attribute ArrayFromVector childNodes;
|
|
readonly attribute Node? firstChild;
|
|
readonly attribute Node? lastChild;
|
|
readonly attribute Node? previousSibling;
|
|
readonly attribute Node? nextSibling;
|
|
readonly attribute Node? parentNode;
|
|
readonly attribute Element? parentElement;
|
|
readonly attribute boolean isConnected;
|
|
attribute DOMString textContent;
|
|
|
|
Node appendChild(Node node);
|
|
[ImplementedAs=pre_insert] Node insertBefore(Node node, Node? child);
|
|
[ImplementedAs=pre_remove] Node removeChild(Node child);
|
|
|
|
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;
|
|
|
|
unsigned short compareDocumentPosition(Node? otherNode);
|
|
// Node.compareDocumentPosition() constants
|
|
const unsigned short DOCUMENT_POSITION_DISCONNECTED = 1;
|
|
const unsigned short DOCUMENT_POSITION_PRECEDING = 2;
|
|
const unsigned short DOCUMENT_POSITION_FOLLOWING = 4;
|
|
const unsigned short DOCUMENT_POSITION_CONTAINS = 8;
|
|
const unsigned short DOCUMENT_POSITION_CONTAINED_BY = 16;
|
|
const unsigned short DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = 32;
|
|
};
|