mirror of
https://github.com/RGBCube/serenity
synced 2025-05-15 12:35:00 +00:00

The current implementation felt a bit ad-hoc and notably allowed textContent to operate on all node types. It also only returned the child text content of the Node instead of the descendant text content.
51 lines
2.3 KiB
Text
51 lines
2.3 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;
|
|
readonly attribute Document? ownerDocument;
|
|
|
|
// FIXME: [LegacyNullToEmptyString] is not allowed on nullable types as per the Web IDL spec.
|
|
// However, we only apply it to setters, so this works as a stop gap.
|
|
// Replace this with something like a special cased [LegacyNullToEmptyString].
|
|
[LegacyNullToEmptyString] attribute DOMString? textContent;
|
|
|
|
Node appendChild(Node node);
|
|
[ImplementedAs=pre_insert] Node insertBefore(Node node, Node? child);
|
|
Node replaceChild(Node node, Node child);
|
|
[ImplementedAs=pre_remove] Node removeChild(Node child);
|
|
[ImplementedAs=clone_node_binding] Node cloneNode(optional boolean deep = false);
|
|
boolean contains(Node? other);
|
|
|
|
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;
|
|
};
|