From 722829d171be8b067b2259c229e395ac21015927 Mon Sep 17 00:00:00 2001 From: Ms2ger Date: Thu, 9 Jan 2014 23:13:02 +0100 Subject: [PATCH 1/2] Update dom/interfaces.html to spec. --- dom/interfaces.html | 140 ++++++++++++++++++++++++-------------------- 1 file changed, 77 insertions(+), 63 deletions(-) diff --git a/dom/interfaces.html b/dom/interfaces.html index 2bc96ed11b830d..cae997a57a7fae 100644 --- a/dom/interfaces.html +++ b/dom/interfaces.html @@ -27,7 +27,7 @@

DOM IDL tests

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; // historical; use TypeError instead + const unsigned short TYPE_MISMATCH_ERR = 17; // historical; use JavaScript's TypeError instead const unsigned short SECURITY_ERR = 18; const unsigned short NETWORK_ERR = 19; const unsigned short ABORT_ERR = 20; @@ -39,9 +39,10 @@

DOM IDL tests

unsigned short code; }; -[Constructor(DOMString name)] +[Constructor(DOMString name, optional DOMString message = "")] interface DOMError { readonly attribute DOMString name; + readonly attribute DOMString message; }; [Constructor(DOMString type, optional EventInit eventInitDict)] @@ -79,7 +80,7 @@

DOM IDL tests

interface CustomEvent : Event { readonly attribute any detail; - void initCustomEvent(DOMString type, boolean bubbles, boolean cancelable, any details); + void initCustomEvent(DOMString type, boolean bubbles, boolean cancelable, any detail); }; dictionary CustomEventInit : EventInit { @@ -87,13 +88,12 @@

DOM IDL tests

}; interface EventTarget { - void addEventListener(DOMString type, EventListener? callback, optional boolean capture); - void removeEventListener(DOMString type, EventListener? callback, optional boolean capture); + void addEventListener(DOMString type, EventListener? callback, optional boolean capture = false); + void removeEventListener(DOMString type, EventListener? callback, optional boolean capture = false); boolean dispatchEvent(Event event); }; -[Callback] -interface EventListener { +callback interface EventListener { void handleEvent(Event event); }; @@ -106,6 +106,11 @@

DOM IDL tests

void prepend((Node or DOMString)... nodes); void append((Node or DOMString)... nodes); + + Element? query(DOMString relativeSelectors); + [NewObject] Elements queryAll(DOMString relativeSelectors); + Element? querySelector(DOMString selectors); + [NewObject] NodeList querySelectorAll(DOMString selectors); }; Document implements ParentNode; DocumentFragment implements ParentNode; @@ -130,6 +135,26 @@

DOM IDL tests

Element implements NonDocumentTypeChildNode; CharacterData implements NonDocumentTypeChildNode; +// XXX unrecognized tokens "class", "extends" +// https://www.w3.org/Bugs/Public/show_bug.cgi?id=20020 +// https://www.w3.org/Bugs/Public/show_bug.cgi?id=23225 +//class Elements extends Array { +// Element? query(DOMString relativeSelectors); +// Elements queryAll(DOMString relativeSelectors); +//}; + +[ArrayClass] +interface NodeList { + getter Node? item(unsigned long index); + readonly attribute unsigned long length; +}; + +interface HTMLCollection { + readonly attribute unsigned long length; + getter Element? item(unsigned long index); + getter Element? namedItem(DOMString name); +}; + [Constructor(MutationCallback callback)] interface MutationObserver { void observe(Node target, MutationObserverInit options); @@ -141,19 +166,19 @@

DOM IDL tests

dictionary MutationObserverInit { boolean childList = false; - boolean attributes = false; - boolean characterData = false; + boolean attributes; + boolean characterData; boolean subtree = false; - boolean attributeOldValue = false; - boolean characterDataOldValue = false; + boolean attributeOldValue; + boolean characterDataOldValue; sequence attributeFilter; }; interface MutationRecord { readonly attribute DOMString type; readonly attribute Node target; - readonly attribute NodeList addedNodes; - readonly attribute NodeList removedNodes; + [SameObject] readonly attribute NodeList addedNodes; + [SameObject] readonly attribute NodeList removedNodes; readonly attribute Node? previousSibling; readonly attribute Node? nextSibling; readonly attribute DOMString? attributeName; @@ -183,7 +208,7 @@

DOM IDL tests

readonly attribute Node? parentNode; readonly attribute Element? parentElement; boolean hasChildNodes(); - readonly attribute NodeList childNodes; + [SameObject] readonly attribute NodeList childNodes; readonly attribute Node? firstChild; readonly attribute Node? lastChild; readonly attribute Node? previousSibling; @@ -193,7 +218,7 @@

DOM IDL tests

attribute DOMString? textContent; void normalize(); - Node cloneNode(optional boolean deep); + Node cloneNode(optional boolean deep = false); boolean isEqualNode(Node? node); const unsigned short DOCUMENT_POSITION_DISCONNECTED = 0x01; @@ -217,7 +242,7 @@

DOM IDL tests

[Constructor] interface Document : Node { - readonly attribute DOMImplementation implementation; + [SameObject] readonly attribute DOMImplementation implementation; readonly attribute DOMString URL; readonly attribute DOMString documentURI; readonly attribute DOMString compatMode; @@ -231,31 +256,31 @@

DOM IDL tests

HTMLCollection getElementsByClassName(DOMString classNames); Element? getElementById(DOMString elementId); - Element createElement(DOMString localName); - Element createElementNS(DOMString? namespace, DOMString qualifiedName); - DocumentFragment createDocumentFragment(); - Text createTextNode(DOMString data); - Comment createComment(DOMString data); - ProcessingInstruction createProcessingInstruction(DOMString target, DOMString data); + [NewObject] Element createElement(DOMString localName); + [NewObject] Element createElementNS(DOMString? namespace, DOMString qualifiedName); + [NewObject] DocumentFragment createDocumentFragment(); + [NewObject] Text createTextNode(DOMString data); + [NewObject] Comment createComment(DOMString data); + [NewObject] ProcessingInstruction createProcessingInstruction(DOMString target, DOMString data); - Node importNode(Node node, optional boolean deep); + Node importNode(Node node, optional boolean deep = true); Node adoptNode(Node node); - Event createEvent(DOMString interface); + [NewObject] Event createEvent(DOMString interface); - Range createRange(); + [NewObject] Range createRange(); // NodeFilter.SHOW_ALL = 0xFFFFFFFF - NodeIterator createNodeIterator(Node root, optional unsigned long whatToShow, optional NodeFilter? filter); - TreeWalker createTreeWalker(Node root, optional unsigned long whatToShow, optional NodeFilter? filter); + [NewObject] NodeIterator createNodeIterator(Node root, optional unsigned long whatToShow = 0xFFFFFFFF, optional NodeFilter? filter = null); + [NewObject] TreeWalker createTreeWalker(Node root, optional unsigned long whatToShow = 0xFFFFFFFF, optional NodeFilter? filter = null); }; interface XMLDocument : Document {}; interface DOMImplementation { - DocumentType createDocumentType(DOMString qualifiedName, DOMString publicId, DOMString systemId); - XMLDocument createDocument(DOMString? namespace, [TreatNullAs=EmptyString] DOMString qualifiedName, optional DocumentType? doctype = null); - Document createHTMLDocument(optional DOMString title); + [NewObject] DocumentType createDocumentType(DOMString qualifiedName, DOMString publicId, DOMString systemId); + [NewObject] XMLDocument createDocument(DOMString? namespace, [TreatNullAs=EmptyString] DOMString qualifiedName, optional DocumentType? doctype = null); + [NewObject] Document createHTMLDocument(optional DOMString title); boolean hasFeature(DOMString feature, [TreatNullAs=EmptyString] DOMString version); }; @@ -278,9 +303,9 @@

DOM IDL tests

attribute DOMString id; attribute DOMString className; - readonly attribute DOMTokenList classList; + [SameObject] readonly attribute DOMTokenList classList; - readonly attribute Attr[] attributes; + [SameObject] readonly attribute Attr[] attributes; DOMString? getAttribute(DOMString name); DOMString? getAttributeNS(DOMString? namespace, DOMString localName); void setAttribute(DOMString name, DOMString value); @@ -290,6 +315,8 @@

DOM IDL tests

boolean hasAttribute(DOMString name); boolean hasAttributeNS(DOMString? namespace, DOMString localName); + boolean matches(DOMString selectors); + HTMLCollection getElementsByTagName(DOMString localName); HTMLCollection getElementsByTagNameNS(DOMString? namespace, DOMString localName); HTMLCollection getElementsByClassName(DOMString classNames); @@ -314,9 +341,9 @@

DOM IDL tests

void replaceData(unsigned long offset, unsigned long count, DOMString data); }; -[Constructor(optional DOMString data)] +[Constructor(optional DOMString data = "")] interface Text : CharacterData { - Text splitText(unsigned long offset); + [NewObject] Text splitText(unsigned long offset); readonly attribute DOMString wholeText; }; @@ -324,7 +351,7 @@

DOM IDL tests

readonly attribute DOMString target; }; -[Constructor(optional DOMString data)] +[Constructor(optional DOMString data = "")] interface Comment : CharacterData { }; @@ -337,15 +364,15 @@

DOM IDL tests

readonly attribute boolean collapsed; readonly attribute Node commonAncestorContainer; - void setStart(Node refNode, unsigned long offset); - void setEnd(Node refNode, unsigned long offset); - void setStartBefore(Node refNode); - void setStartAfter(Node refNode); - void setEndBefore(Node refNode); - void setEndAfter(Node refNode); + void setStart(Node node, unsigned long offset); + void setEnd(Node node, unsigned long offset); + void setStartBefore(Node node); + void setStartAfter(Node node); + void setEndBefore(Node node); + void setEndAfter(Node node); void collapse(optional boolean toStart = false); - void selectNode(Node refNode); - void selectNodeContents(Node refNode); + void selectNode(Node node); + void selectNodeContents(Node node); const unsigned short START_TO_START = 0; const unsigned short START_TO_END = 1; @@ -354,12 +381,12 @@

DOM IDL tests

short compareBoundaryPoints(unsigned short how, Range sourceRange); void deleteContents(); - DocumentFragment extractContents(); - DocumentFragment cloneContents(); + [NewObject] DocumentFragment extractContents(); + [NewObject] DocumentFragment cloneContents(); void insertNode(Node node); void surroundContents(Node newParent); - Range cloneRange(); + [NewObject] Range cloneRange(); void detach(); boolean isPointInRange(Node node, unsigned long offset); @@ -371,8 +398,8 @@

DOM IDL tests

}; interface NodeIterator { - readonly attribute Node root; - readonly attribute Node? referenceNode; + [SameObject] readonly attribute Node root; + readonly attribute Node referenceNode; readonly attribute boolean pointerBeforeReferenceNode; readonly attribute unsigned long whatToShow; readonly attribute NodeFilter? filter; @@ -384,7 +411,7 @@

DOM IDL tests

}; interface TreeWalker { - readonly attribute Node root; + [SameObject] readonly attribute Node root; readonly attribute unsigned long whatToShow; readonly attribute NodeFilter? filter; attribute Node currentNode; @@ -398,8 +425,7 @@

DOM IDL tests

Node? nextNode(); }; -[Callback] -interface NodeFilter { +callback interface NodeFilter { // Constants for acceptNode() const unsigned short FILTER_ACCEPT = 1; const unsigned short FILTER_REJECT = 2; @@ -423,18 +449,6 @@

DOM IDL tests

unsigned short acceptNode(Node node); }; -[ArrayClass] -interface NodeList { - getter Node? item(unsigned long index); - readonly attribute unsigned long length; -}; - -interface HTMLCollection { - readonly attribute unsigned long length; - getter Element? item(unsigned long index); - getter object? namedItem(DOMString name); // only returns Element -}; - interface DOMTokenList { readonly attribute unsigned long length; getter DOMString? item(unsigned long index); From 759db760764f03bd50b74243031f0f1e2ba7f8af Mon Sep 17 00:00:00 2001 From: Ms2ger Date: Wed, 15 Jan 2014 08:56:54 +0100 Subject: [PATCH 2/2] Update the default value of the importNode argument. --- dom/interfaces.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dom/interfaces.html b/dom/interfaces.html index cae997a57a7fae..c9b6f8d5067990 100644 --- a/dom/interfaces.html +++ b/dom/interfaces.html @@ -263,7 +263,7 @@

DOM IDL tests

[NewObject] Comment createComment(DOMString data); [NewObject] ProcessingInstruction createProcessingInstruction(DOMString target, DOMString data); - Node importNode(Node node, optional boolean deep = true); + Node importNode(Node node, optional boolean deep = false); Node adoptNode(Node node); [NewObject] Event createEvent(DOMString interface);