2016-01-30 Chris Dumez <cdumez@apple.com>
+ [JS Bindings] prototype.constructor should be writable
+ https://bugs.webkit.org/show_bug.cgi?id=149412
+ <rdar://problem/22545096>
+
+ Reviewed by Darin Adler.
+
+ * fast/dom/HTMLDocument/constructor-setter-crash-expected.txt: Added.
+ * fast/dom/HTMLDocument/constructor-setter-crash.html: Added.
+ Add regression test for crash at <rdar://problem/22825602>.
+
+ * fast/dom/prototype-constructor-setter-expected.txt: Added.
+ * fast/dom/prototype-constructor-setter.html: Added.
+ Add new test checking that prototype.constructor is writable.
+
+ * js/dom/constructor-attributes-expected.txt:
+ Rebaseline existing test now that prototype.constructor is writable.
+
+2016-01-30 Chris Dumez <cdumez@apple.com>
+
Move more 'constructor' properties to the prototype
https://bugs.webkit.org/show_bug.cgi?id=153667
--- /dev/null
+Make sure we don't crash when setting HTMLDocument.constructor
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS document.constructor = 'test' did not throw exception.
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
--- /dev/null
+<!DOCTYPE html>
+<html>
+<head>
+<script src="../../../resources/js-test-pre.js"></script>
+</head>
+<body>
+<script>
+description("Make sure we don't crash when setting HTMLDocument.constructor");
+
+shouldNotThrow("document.constructor = 'test'");
+
+</script>
+</body>
+<script src="../../../resources/js-test-post.js"></script>
+</html>
--- /dev/null
+Makes sure prototype.constructor is writable
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS document.body.constructor is HTMLBodyElement.prototype.constructor
+PASS document.body.__proto__.constructor is HTMLBodyElement.prototype.constructor
+PASS document.body.__proto__.constructor = "testPrototype" did not throw exception.
+PASS document.body.__proto__.constructor is "testPrototype"
+PASS document.body.constructor is "testPrototype"
+PASS document.body.constructor = "testInstance" did not throw exception.
+PASS document.body.constructor is "testInstance"
+PASS document.body.__proto__.constructor is "testPrototype"
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
--- /dev/null
+<!DOCTYPE html>
+<html>
+<head>
+<script src="../../resources/js-test-pre.js"></script>
+</head>
+<body>
+<script>
+description("Makes sure prototype.constructor is writable");
+
+shouldBe('document.body.constructor', 'HTMLBodyElement.prototype.constructor');
+shouldBe('document.body.__proto__.constructor', 'HTMLBodyElement.prototype.constructor');
+
+shouldNotThrow('document.body.__proto__.constructor = "testPrototype"');
+shouldBeEqualToString("document.body.__proto__.constructor", "testPrototype");
+shouldBeEqualToString("document.body.constructor", "testPrototype");
+
+shouldNotThrow('document.body.constructor = "testInstance"');
+shouldBeEqualToString("document.body.constructor", "testInstance");
+shouldBeEqualToString("document.body.__proto__.constructor", "testPrototype");
+</script>
+</body>
+<script src="../../resources/js-test-post.js"></script>
+</html>
2016-01-30 Chris Dumez <cdumez@apple.com>
+ [JS Bindings] prototype.constructor should be writable
+ https://bugs.webkit.org/show_bug.cgi?id=149412
+ <rdar://problem/22545096>
+
+ Reviewed by Darin Adler.
+
+ Rebaseline W3C tests now that more checks are passing.
+
+ * web-platform-tests/XMLHttpRequest/interfaces-expected.txt:
+ * web-platform-tests/dom/interfaces-expected.txt:
+ * web-platform-tests/fetch/api/headers/headers-idl-expected.txt:
+ * web-platform-tests/html/dom/interfaces-expected.txt:
+
+2016-01-30 Chris Dumez <cdumez@apple.com>
+
Move more 'constructor' properties to the prototype
https://bugs.webkit.org/show_bug.cgi?id=153667
PASS XMLHttpRequestUpload interface object length
PASS XMLHttpRequestUpload interface object name
FAIL XMLHttpRequestUpload interface: existence and properties of interface prototype object assert_own_property: should inherit from XMLHttpRequestEventTarget, but self has no such property expected property "XMLHttpRequestEventTarget" missing
-FAIL XMLHttpRequestUpload interface: existence and properties of interface prototype object's "constructor" property assert_true: XMLHttpRequestUpload.prototype.constructor is not writable expected true got false
+PASS XMLHttpRequestUpload interface: existence and properties of interface prototype object's "constructor" property
PASS XMLHttpRequestUpload must be primary interface of (new XMLHttpRequest()).upload
PASS Stringification of (new XMLHttpRequest()).upload
PASS XMLHttpRequestEventTarget interface: (new XMLHttpRequest()).upload must inherit property "onloadstart" with the proper type (0)
PASS XMLHttpRequest interface object length
PASS XMLHttpRequest interface object name
FAIL XMLHttpRequest interface: existence and properties of interface prototype object assert_own_property: should inherit from XMLHttpRequestEventTarget, but self has no such property expected property "XMLHttpRequestEventTarget" missing
-FAIL XMLHttpRequest interface: existence and properties of interface prototype object's "constructor" property assert_true: XMLHttpRequest.prototype.constructor is not writable expected true got false
+PASS XMLHttpRequest interface: existence and properties of interface prototype object's "constructor" property
FAIL XMLHttpRequest interface: attribute onreadystatechange assert_equals: getter must be Function expected "function" but got "undefined"
PASS XMLHttpRequest interface: constant UNSENT on interface object
PASS XMLHttpRequest interface: constant UNSENT on interface prototype object
PASS FormData interface object length
PASS FormData interface object name
PASS FormData interface: existence and properties of interface prototype object
-FAIL FormData interface: existence and properties of interface prototype object's "constructor" property assert_true: FormData.prototype.constructor is not writable expected true got false
+PASS FormData interface: existence and properties of interface prototype object's "constructor" property
FAIL FormData interface: operation append(USVString,Blob,USVString) assert_equals: property has wrong .length expected 2 but got 0
FAIL FormData interface: operation append(USVString,USVString) assert_equals: property has wrong .length expected 2 but got 0
FAIL FormData interface: operation delete(USVString) assert_own_property: interface prototype object missing non-static operation expected property "delete" missing
PASS ProgressEvent interface object length
PASS ProgressEvent interface object name
PASS ProgressEvent interface: existence and properties of interface prototype object
-FAIL ProgressEvent interface: existence and properties of interface prototype object's "constructor" property assert_true: ProgressEvent.prototype.constructor is not writable expected true got false
+PASS ProgressEvent interface: existence and properties of interface prototype object's "constructor" property
FAIL ProgressEvent interface: attribute lengthComputable assert_equals: getter must be Function expected "function" but got "undefined"
FAIL ProgressEvent interface: attribute loaded assert_equals: getter must be Function expected "function" but got "undefined"
FAIL ProgressEvent interface: attribute total assert_equals: getter must be Function expected "function" but got "undefined"
PASS Event interface object length
PASS Event interface object name
PASS Event interface: existence and properties of interface prototype object
-FAIL Event interface: existence and properties of interface prototype object's "constructor" property assert_true: Event.prototype.constructor is not writable expected true got false
+PASS Event interface: existence and properties of interface prototype object's "constructor" property
FAIL Event interface: attribute type assert_equals: getter must be Function expected "function" but got "undefined"
FAIL Event interface: attribute target assert_equals: getter must be Function expected "function" but got "undefined"
FAIL Event interface: attribute currentTarget assert_equals: getter must be Function expected "function" but got "undefined"
PASS CustomEvent interface object length
PASS CustomEvent interface object name
PASS CustomEvent interface: existence and properties of interface prototype object
-FAIL CustomEvent interface: existence and properties of interface prototype object's "constructor" property assert_true: CustomEvent.prototype.constructor is not writable expected true got false
+PASS CustomEvent interface: existence and properties of interface prototype object's "constructor" property
FAIL CustomEvent interface: attribute detail assert_true: The prototype object must have a property "detail" expected true got false
FAIL CustomEvent interface: operation initCustomEvent(DOMString,boolean,boolean,any) assert_equals: property has wrong .length expected 4 but got 0
PASS CustomEvent must be primary interface of new CustomEvent("foo")
PASS EventTarget interface object length
PASS EventTarget interface object name
PASS EventTarget interface: existence and properties of interface prototype object
-FAIL EventTarget interface: existence and properties of interface prototype object's "constructor" property assert_true: EventTarget.prototype.constructor is not writable expected true got false
+PASS EventTarget interface: existence and properties of interface prototype object's "constructor" property
PASS EventTarget interface: operation addEventListener(DOMString,EventListener,boolean)
PASS EventTarget interface: operation removeEventListener(DOMString,EventListener,boolean)
PASS EventTarget interface: operation dispatchEvent(Event)
PASS NodeList interface object length
PASS NodeList interface object name
PASS NodeList interface: existence and properties of interface prototype object
-FAIL NodeList interface: existence and properties of interface prototype object's "constructor" property assert_true: NodeList.prototype.constructor is not writable expected true got false
+PASS NodeList interface: existence and properties of interface prototype object's "constructor" property
PASS NodeList interface: operation item(unsigned long)
FAIL NodeList interface: attribute length assert_true: The prototype object must have a property "length" expected true got false
PASS NodeList must be primary interface of document.querySelectorAll("script")
PASS HTMLCollection interface object length
PASS HTMLCollection interface object name
PASS HTMLCollection interface: existence and properties of interface prototype object
-FAIL HTMLCollection interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLCollection.prototype.constructor is not writable expected true got false
+PASS HTMLCollection interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLCollection interface: attribute length assert_true: The prototype object must have a property "length" expected true got false
FAIL HTMLCollection interface: operation item(unsigned long) assert_equals: property has wrong .length expected 1 but got 0
FAIL HTMLCollection interface: operation namedItem(DOMString) assert_equals: property has wrong .length expected 1 but got 0
PASS MutationObserver interface object length
PASS MutationObserver interface object name
PASS MutationObserver interface: existence and properties of interface prototype object
-FAIL MutationObserver interface: existence and properties of interface prototype object's "constructor" property assert_true: MutationObserver.prototype.constructor is not writable expected true got false
+PASS MutationObserver interface: existence and properties of interface prototype object's "constructor" property
PASS MutationObserver interface: operation observe(Node,MutationObserverInit)
PASS MutationObserver interface: operation disconnect()
PASS MutationObserver interface: operation takeRecords()
PASS MutationRecord interface object length
PASS MutationRecord interface object name
PASS MutationRecord interface: existence and properties of interface prototype object
-FAIL MutationRecord interface: existence and properties of interface prototype object's "constructor" property assert_true: MutationRecord.prototype.constructor is not writable expected true got false
+PASS MutationRecord interface: existence and properties of interface prototype object's "constructor" property
FAIL MutationRecord interface: attribute type assert_equals: getter must be Function expected "function" but got "undefined"
FAIL MutationRecord interface: attribute target assert_equals: getter must be Function expected "function" but got "undefined"
FAIL MutationRecord interface: attribute addedNodes assert_equals: getter must be Function expected "function" but got "undefined"
PASS Node interface object length
PASS Node interface object name
FAIL Node interface: existence and properties of interface prototype object assert_equals: prototype of Node.prototype is not EventTarget.prototype expected object "[object EventTargetPrototype]" but got object "[object Object]"
-FAIL Node interface: existence and properties of interface prototype object's "constructor" property assert_true: Node.prototype.constructor is not writable expected true got false
+PASS Node interface: existence and properties of interface prototype object's "constructor" property
PASS Node interface: constant ELEMENT_NODE on interface object
PASS Node interface: constant ELEMENT_NODE on interface prototype object
PASS Node interface: constant ATTRIBUTE_NODE on interface object
PASS Document interface object length
PASS Document interface object name
PASS Document interface: existence and properties of interface prototype object
-FAIL Document interface: existence and properties of interface prototype object's "constructor" property assert_true: Document.prototype.constructor is not writable expected true got false
+PASS Document interface: existence and properties of interface prototype object's "constructor" property
FAIL Document interface: attribute implementation assert_equals: getter must be Function expected "function" but got "undefined"
FAIL Document interface: attribute URL assert_equals: getter must be Function expected "function" but got "undefined"
FAIL Document interface: attribute documentURI assert_equals: getter must be Function expected "function" but got "undefined"
PASS XMLDocument interface object length
PASS XMLDocument interface object name
PASS XMLDocument interface: existence and properties of interface prototype object
-FAIL XMLDocument interface: existence and properties of interface prototype object's "constructor" property assert_true: XMLDocument.prototype.constructor is not writable expected true got false
+PASS XMLDocument interface: existence and properties of interface prototype object's "constructor" property
PASS XMLDocument must be primary interface of xmlDoc
PASS Stringification of xmlDoc
PASS Document interface: xmlDoc must inherit property "implementation" with the proper type (0)
PASS DOMImplementation interface object length
PASS DOMImplementation interface object name
PASS DOMImplementation interface: existence and properties of interface prototype object
-FAIL DOMImplementation interface: existence and properties of interface prototype object's "constructor" property assert_true: DOMImplementation.prototype.constructor is not writable expected true got false
+PASS DOMImplementation interface: existence and properties of interface prototype object's "constructor" property
FAIL DOMImplementation interface: operation createDocumentType(DOMString,DOMString,DOMString) assert_equals: property has wrong .length expected 3 but got 0
FAIL DOMImplementation interface: operation createDocument(DOMString,DOMString,DocumentType) assert_equals: property has wrong .length expected 2 but got 0
PASS DOMImplementation interface: operation createHTMLDocument(DOMString)
PASS DocumentFragment interface object length
PASS DocumentFragment interface object name
PASS DocumentFragment interface: existence and properties of interface prototype object
-FAIL DocumentFragment interface: existence and properties of interface prototype object's "constructor" property assert_true: DocumentFragment.prototype.constructor is not writable expected true got false
+PASS DocumentFragment interface: existence and properties of interface prototype object's "constructor" property
FAIL DocumentFragment interface: operation getElementById(DOMString) assert_equals: property has wrong .length expected 1 but got 0
FAIL DocumentFragment interface: attribute children assert_equals: getter must be Function expected "function" but got "undefined"
FAIL DocumentFragment interface: attribute firstElementChild assert_equals: getter must be Function expected "function" but got "undefined"
PASS DocumentType interface object length
PASS DocumentType interface object name
PASS DocumentType interface: existence and properties of interface prototype object
-FAIL DocumentType interface: existence and properties of interface prototype object's "constructor" property assert_true: DocumentType.prototype.constructor is not writable expected true got false
+PASS DocumentType interface: existence and properties of interface prototype object's "constructor" property
FAIL DocumentType interface: attribute name assert_equals: getter must be Function expected "function" but got "undefined"
FAIL DocumentType interface: attribute publicId assert_equals: getter must be Function expected "function" but got "undefined"
FAIL DocumentType interface: attribute systemId assert_equals: getter must be Function expected "function" but got "undefined"
PASS Element interface object length
PASS Element interface object name
PASS Element interface: existence and properties of interface prototype object
-FAIL Element interface: existence and properties of interface prototype object's "constructor" property assert_true: Element.prototype.constructor is not writable expected true got false
+PASS Element interface: existence and properties of interface prototype object's "constructor" property
FAIL Element interface: attribute namespaceURI assert_own_property: expected property "namespaceURI" missing
FAIL Element interface: attribute prefix assert_own_property: expected property "prefix" missing
FAIL Element interface: attribute localName assert_own_property: expected property "localName" missing
PASS NamedNodeMap interface object length
PASS NamedNodeMap interface object name
PASS NamedNodeMap interface: existence and properties of interface prototype object
-FAIL NamedNodeMap interface: existence and properties of interface prototype object's "constructor" property assert_true: NamedNodeMap.prototype.constructor is not writable expected true got false
+PASS NamedNodeMap interface: existence and properties of interface prototype object's "constructor" property
FAIL NamedNodeMap interface: attribute length assert_true: The prototype object must have a property "length" expected true got false
FAIL NamedNodeMap interface: operation item(unsigned long) assert_equals: property has wrong .length expected 1 but got 0
FAIL NamedNodeMap interface: operation getNamedItem(DOMString) assert_equals: property has wrong .length expected 1 but got 0
PASS Attr interface object length
PASS Attr interface object name
FAIL Attr interface: existence and properties of interface prototype object assert_equals: prototype of Attr.prototype is not Object.prototype expected object "[object Object]" but got object "[object NodePrototype]"
-FAIL Attr interface: existence and properties of interface prototype object's "constructor" property assert_true: Attr.prototype.constructor is not writable expected true got false
+PASS Attr interface: existence and properties of interface prototype object's "constructor" property
FAIL Attr interface: attribute namespaceURI assert_own_property: expected property "namespaceURI" missing
FAIL Attr interface: attribute prefix assert_own_property: expected property "prefix" missing
FAIL Attr interface: attribute localName assert_own_property: expected property "localName" missing
PASS CharacterData interface object length
PASS CharacterData interface object name
PASS CharacterData interface: existence and properties of interface prototype object
-FAIL CharacterData interface: existence and properties of interface prototype object's "constructor" property assert_true: CharacterData.prototype.constructor is not writable expected true got false
+PASS CharacterData interface: existence and properties of interface prototype object's "constructor" property
FAIL CharacterData interface: attribute data assert_equals: getter must be Function expected "function" but got "undefined"
FAIL CharacterData interface: attribute length assert_equals: getter must be Function expected "function" but got "undefined"
PASS CharacterData interface: operation substringData(unsigned long,unsigned long)
PASS Text interface object length
PASS Text interface object name
PASS Text interface: existence and properties of interface prototype object
-FAIL Text interface: existence and properties of interface prototype object's "constructor" property assert_true: Text.prototype.constructor is not writable expected true got false
+PASS Text interface: existence and properties of interface prototype object's "constructor" property
PASS Text interface: operation splitText(unsigned long)
FAIL Text interface: attribute wholeText assert_equals: getter must be Function expected "function" but got "undefined"
PASS Text must be primary interface of document.createTextNode("abc")
PASS ProcessingInstruction interface object length
PASS ProcessingInstruction interface object name
PASS ProcessingInstruction interface: existence and properties of interface prototype object
-FAIL ProcessingInstruction interface: existence and properties of interface prototype object's "constructor" property assert_true: ProcessingInstruction.prototype.constructor is not writable expected true got false
+PASS ProcessingInstruction interface: existence and properties of interface prototype object's "constructor" property
FAIL ProcessingInstruction interface: attribute target assert_equals: getter must be Function expected "function" but got "undefined"
PASS ProcessingInstruction must be primary interface of xmlDoc.createProcessingInstruction("abc", "def")
PASS Stringification of xmlDoc.createProcessingInstruction("abc", "def")
PASS Comment interface object length
PASS Comment interface object name
PASS Comment interface: existence and properties of interface prototype object
-FAIL Comment interface: existence and properties of interface prototype object's "constructor" property assert_true: Comment.prototype.constructor is not writable expected true got false
+PASS Comment interface: existence and properties of interface prototype object's "constructor" property
PASS Comment must be primary interface of document.createComment("abc")
PASS Stringification of document.createComment("abc")
PASS CharacterData interface: document.createComment("abc") must inherit property "data" with the proper type (0)
PASS Range interface object length
PASS Range interface object name
PASS Range interface: existence and properties of interface prototype object
-FAIL Range interface: existence and properties of interface prototype object's "constructor" property assert_true: Range.prototype.constructor is not writable expected true got false
+PASS Range interface: existence and properties of interface prototype object's "constructor" property
FAIL Range interface: attribute startContainer assert_equals: getter must be Function expected "function" but got "undefined"
FAIL Range interface: attribute startOffset assert_equals: getter must be Function expected "function" but got "undefined"
FAIL Range interface: attribute endContainer assert_equals: getter must be Function expected "function" but got "undefined"
PASS NodeIterator interface object length
PASS NodeIterator interface object name
PASS NodeIterator interface: existence and properties of interface prototype object
-FAIL NodeIterator interface: existence and properties of interface prototype object's "constructor" property assert_true: NodeIterator.prototype.constructor is not writable expected true got false
+PASS NodeIterator interface: existence and properties of interface prototype object's "constructor" property
FAIL NodeIterator interface: attribute root assert_equals: getter must be Function expected "function" but got "undefined"
FAIL NodeIterator interface: attribute referenceNode assert_equals: getter must be Function expected "function" but got "undefined"
FAIL NodeIterator interface: attribute pointerBeforeReferenceNode assert_equals: getter must be Function expected "function" but got "undefined"
PASS TreeWalker interface object length
PASS TreeWalker interface object name
PASS TreeWalker interface: existence and properties of interface prototype object
-FAIL TreeWalker interface: existence and properties of interface prototype object's "constructor" property assert_true: TreeWalker.prototype.constructor is not writable expected true got false
+PASS TreeWalker interface: existence and properties of interface prototype object's "constructor" property
FAIL TreeWalker interface: attribute root assert_equals: getter must be Function expected "function" but got "undefined"
FAIL TreeWalker interface: attribute whatToShow assert_equals: getter must be Function expected "function" but got "undefined"
FAIL TreeWalker interface: attribute filter assert_equals: getter must be Function expected "function" but got "undefined"
PASS DOMTokenList interface object length
PASS DOMTokenList interface object name
PASS DOMTokenList interface: existence and properties of interface prototype object
-FAIL DOMTokenList interface: existence and properties of interface prototype object's "constructor" property assert_true: DOMTokenList.prototype.constructor is not writable expected true got false
+PASS DOMTokenList interface: existence and properties of interface prototype object's "constructor" property
FAIL DOMTokenList interface: attribute length assert_true: The prototype object must have a property "length" expected true got false
PASS DOMTokenList interface: operation item(unsigned long)
PASS DOMTokenList interface: operation contains(DOMString)
PASS DOMSettableTokenList interface object length
PASS DOMSettableTokenList interface object name
PASS DOMSettableTokenList interface: existence and properties of interface prototype object
-FAIL DOMSettableTokenList interface: existence and properties of interface prototype object's "constructor" property assert_true: DOMSettableTokenList.prototype.constructor is not writable expected true got false
+PASS DOMSettableTokenList interface: existence and properties of interface prototype object's "constructor" property
FAIL DOMSettableTokenList interface: attribute value assert_equals: getter must be Function expected "function" but got "undefined"
PASS Headers interface object length
PASS Headers interface object name
PASS Headers interface: existence and properties of interface prototype object
-FAIL Headers interface: existence and properties of interface prototype object's "constructor" property assert_true: Headers.prototype.constructor is not writable expected true got false
+PASS Headers interface: existence and properties of interface prototype object's "constructor" property
PASS Headers interface: operation append(ByteString,ByteString)
PASS Headers interface: operation delete(ByteString)
PASS Headers interface: operation get(ByteString)
PASS HTMLAllCollection interface object length
PASS HTMLAllCollection interface object name
FAIL HTMLAllCollection interface: existence and properties of interface prototype object assert_equals: prototype of HTMLAllCollection.prototype is not HTMLCollection.prototype expected object "[object HTMLCollectionPrototype]" but got object "[object Object]"
-FAIL HTMLAllCollection interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLAllCollection.prototype.constructor is not writable expected true got false
+PASS HTMLAllCollection interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLAllCollection interface: operation item(unsigned long) assert_equals: property has wrong .length expected 1 but got 0
FAIL HTMLAllCollection interface: operation item(DOMString) assert_equals: property has wrong .length expected 1 but got 0
PASS HTMLAllCollection interface: operation namedItem(DOMString)
PASS HTMLFormControlsCollection interface object length
PASS HTMLFormControlsCollection interface object name
PASS HTMLFormControlsCollection interface: existence and properties of interface prototype object
-FAIL HTMLFormControlsCollection interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLFormControlsCollection.prototype.constructor is not writable expected true got false
+PASS HTMLFormControlsCollection interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLFormControlsCollection interface: operation namedItem(DOMString) assert_equals: property has wrong .length expected 1 but got 0
FAIL HTMLFormControlsCollection must be primary interface of document.createElement("form").elements assert_equals: wrong typeof object expected "function" but got "object"
FAIL Stringification of document.createElement("form").elements assert_equals: wrong typeof object expected "function" but got "object"
PASS RadioNodeList interface object length
PASS RadioNodeList interface object name
PASS RadioNodeList interface: existence and properties of interface prototype object
-FAIL RadioNodeList interface: existence and properties of interface prototype object's "constructor" property assert_true: RadioNodeList.prototype.constructor is not writable expected true got false
+PASS RadioNodeList interface: existence and properties of interface prototype object's "constructor" property
FAIL RadioNodeList interface: attribute value assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLOptionsCollection interface: existence and properties of interface object assert_equals: class string of HTMLOptionsCollection expected "[object Function]" but got "[object HTMLOptionsCollectionConstructor]"
PASS HTMLOptionsCollection interface object length
PASS HTMLOptionsCollection interface object name
PASS HTMLOptionsCollection interface: existence and properties of interface prototype object
-FAIL HTMLOptionsCollection interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLOptionsCollection.prototype.constructor is not writable expected true got false
+PASS HTMLOptionsCollection interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLOptionsCollection interface: attribute length assert_true: The prototype object must have a property "length" expected true got false
PASS HTMLOptionsCollection interface: operation add([object Object],[object Object],[object Object],[object Object])
FAIL HTMLOptionsCollection interface: operation remove(long) assert_equals: property has wrong .length expected 1 but got 0
PASS DOMStringMap interface object length
PASS DOMStringMap interface object name
PASS DOMStringMap interface: existence and properties of interface prototype object
-FAIL DOMStringMap interface: existence and properties of interface prototype object's "constructor" property assert_true: DOMStringMap.prototype.constructor is not writable expected true got false
+PASS DOMStringMap interface: existence and properties of interface prototype object's "constructor" property
PASS DOMStringMap must be primary interface of document.head.dataset
PASS Stringification of document.head.dataset
FAIL DOMElementMap interface: existence and properties of interface object assert_own_property: self does not have own property "DOMElementMap" expected property "DOMElementMap" missing
PASS HTMLElement interface object length
PASS HTMLElement interface object name
PASS HTMLElement interface: existence and properties of interface prototype object
-FAIL HTMLElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLElement.prototype.constructor is not writable expected true got false
+PASS HTMLElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLElement interface: attribute title assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLElement interface: attribute lang assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLElement interface: attribute translate assert_equals: getter must be Function expected "function" but got "undefined"
PASS HTMLUnknownElement interface object length
PASS HTMLUnknownElement interface object name
PASS HTMLUnknownElement interface: existence and properties of interface prototype object
-FAIL HTMLUnknownElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLUnknownElement.prototype.constructor is not writable expected true got false
+PASS HTMLUnknownElement interface: existence and properties of interface prototype object's "constructor" property
PASS HTMLUnknownElement must be primary interface of document.createElement("blink")
PASS Stringification of document.createElement("blink")
PASS HTMLUnknownElement must be primary interface of document.createElement("quasit")
PASS HTMLHtmlElement interface object length
PASS HTMLHtmlElement interface object name
PASS HTMLHtmlElement interface: existence and properties of interface prototype object
-FAIL HTMLHtmlElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLHtmlElement.prototype.constructor is not writable expected true got false
+PASS HTMLHtmlElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLHtmlElement interface: attribute version assert_equals: getter must be Function expected "function" but got "undefined"
PASS HTMLHtmlElement must be primary interface of document.createElement("html")
PASS Stringification of document.createElement("html")
PASS HTMLHeadElement interface object length
PASS HTMLHeadElement interface object name
PASS HTMLHeadElement interface: existence and properties of interface prototype object
-FAIL HTMLHeadElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLHeadElement.prototype.constructor is not writable expected true got false
+PASS HTMLHeadElement interface: existence and properties of interface prototype object's "constructor" property
PASS HTMLHeadElement must be primary interface of document.createElement("head")
PASS Stringification of document.createElement("head")
FAIL HTMLTitleElement interface: existence and properties of interface object assert_equals: class string of HTMLTitleElement expected "[object Function]" but got "[object HTMLTitleElementConstructor]"
PASS HTMLTitleElement interface object length
PASS HTMLTitleElement interface object name
PASS HTMLTitleElement interface: existence and properties of interface prototype object
-FAIL HTMLTitleElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLTitleElement.prototype.constructor is not writable expected true got false
+PASS HTMLTitleElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLTitleElement interface: attribute text assert_equals: getter must be Function expected "function" but got "undefined"
PASS HTMLTitleElement must be primary interface of document.createElement("title")
PASS Stringification of document.createElement("title")
PASS HTMLBaseElement interface object length
PASS HTMLBaseElement interface object name
PASS HTMLBaseElement interface: existence and properties of interface prototype object
-FAIL HTMLBaseElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLBaseElement.prototype.constructor is not writable expected true got false
+PASS HTMLBaseElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLBaseElement interface: attribute href assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLBaseElement interface: attribute target assert_equals: getter must be Function expected "function" but got "undefined"
PASS HTMLBaseElement must be primary interface of document.createElement("base")
PASS HTMLLinkElement interface object length
PASS HTMLLinkElement interface object name
PASS HTMLLinkElement interface: existence and properties of interface prototype object
-FAIL HTMLLinkElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLLinkElement.prototype.constructor is not writable expected true got false
+PASS HTMLLinkElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLLinkElement interface: attribute href assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLLinkElement interface: attribute crossOrigin assert_true: The prototype object must have a property "crossOrigin" expected true got false
FAIL HTMLLinkElement interface: attribute rel assert_equals: getter must be Function expected "function" but got "undefined"
PASS HTMLMetaElement interface object length
PASS HTMLMetaElement interface object name
PASS HTMLMetaElement interface: existence and properties of interface prototype object
-FAIL HTMLMetaElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLMetaElement.prototype.constructor is not writable expected true got false
+PASS HTMLMetaElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLMetaElement interface: attribute name assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLMetaElement interface: attribute httpEquiv assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLMetaElement interface: attribute content assert_equals: getter must be Function expected "function" but got "undefined"
PASS HTMLStyleElement interface object length
PASS HTMLStyleElement interface object name
PASS HTMLStyleElement interface: existence and properties of interface prototype object
-FAIL HTMLStyleElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLStyleElement.prototype.constructor is not writable expected true got false
+PASS HTMLStyleElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLStyleElement interface: attribute media assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLStyleElement interface: attribute type assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLStyleElement interface: attribute scoped assert_true: The prototype object must have a property "scoped" expected true got false
PASS HTMLBodyElement interface object length
PASS HTMLBodyElement interface object name
PASS HTMLBodyElement interface: existence and properties of interface prototype object
-FAIL HTMLBodyElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLBodyElement.prototype.constructor is not writable expected true got false
+PASS HTMLBodyElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLBodyElement interface: attribute text assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLBodyElement interface: attribute link assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLBodyElement interface: attribute vLink assert_equals: getter must be Function expected "function" but got "undefined"
PASS HTMLHeadingElement interface object length
PASS HTMLHeadingElement interface object name
PASS HTMLHeadingElement interface: existence and properties of interface prototype object
-FAIL HTMLHeadingElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLHeadingElement.prototype.constructor is not writable expected true got false
+PASS HTMLHeadingElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLHeadingElement interface: attribute align assert_equals: getter must be Function expected "function" but got "undefined"
PASS HTMLHeadingElement must be primary interface of document.createElement("h1")
PASS Stringification of document.createElement("h1")
PASS HTMLParagraphElement interface object length
PASS HTMLParagraphElement interface object name
PASS HTMLParagraphElement interface: existence and properties of interface prototype object
-FAIL HTMLParagraphElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLParagraphElement.prototype.constructor is not writable expected true got false
+PASS HTMLParagraphElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLParagraphElement interface: attribute align assert_equals: getter must be Function expected "function" but got "undefined"
PASS HTMLParagraphElement must be primary interface of document.createElement("p")
PASS Stringification of document.createElement("p")
PASS HTMLHRElement interface object length
PASS HTMLHRElement interface object name
PASS HTMLHRElement interface: existence and properties of interface prototype object
-FAIL HTMLHRElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLHRElement.prototype.constructor is not writable expected true got false
+PASS HTMLHRElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLHRElement interface: attribute align assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLHRElement interface: attribute color assert_true: The prototype object must have a property "color" expected true got false
FAIL HTMLHRElement interface: attribute noShade assert_equals: getter must be Function expected "function" but got "undefined"
PASS HTMLPreElement interface object length
PASS HTMLPreElement interface object name
PASS HTMLPreElement interface: existence and properties of interface prototype object
-FAIL HTMLPreElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLPreElement.prototype.constructor is not writable expected true got false
+PASS HTMLPreElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLPreElement interface: attribute width assert_equals: getter must be Function expected "function" but got "undefined"
PASS HTMLPreElement must be primary interface of document.createElement("pre")
PASS Stringification of document.createElement("pre")
PASS HTMLQuoteElement interface object length
PASS HTMLQuoteElement interface object name
PASS HTMLQuoteElement interface: existence and properties of interface prototype object
-FAIL HTMLQuoteElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLQuoteElement.prototype.constructor is not writable expected true got false
+PASS HTMLQuoteElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLQuoteElement interface: attribute cite assert_equals: getter must be Function expected "function" but got "undefined"
PASS HTMLQuoteElement must be primary interface of document.createElement("blockquote")
PASS Stringification of document.createElement("blockquote")
PASS HTMLOListElement interface object length
PASS HTMLOListElement interface object name
PASS HTMLOListElement interface: existence and properties of interface prototype object
-FAIL HTMLOListElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLOListElement.prototype.constructor is not writable expected true got false
+PASS HTMLOListElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLOListElement interface: attribute reversed assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLOListElement interface: attribute start assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLOListElement interface: attribute type assert_equals: getter must be Function expected "function" but got "undefined"
PASS HTMLUListElement interface object length
PASS HTMLUListElement interface object name
PASS HTMLUListElement interface: existence and properties of interface prototype object
-FAIL HTMLUListElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLUListElement.prototype.constructor is not writable expected true got false
+PASS HTMLUListElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLUListElement interface: attribute compact assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLUListElement interface: attribute type assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLLIElement interface: existence and properties of interface object assert_equals: class string of HTMLLIElement expected "[object Function]" but got "[object HTMLLIElementConstructor]"
PASS HTMLLIElement interface object length
PASS HTMLLIElement interface object name
PASS HTMLLIElement interface: existence and properties of interface prototype object
-FAIL HTMLLIElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLLIElement.prototype.constructor is not writable expected true got false
+PASS HTMLLIElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLLIElement interface: attribute value assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLLIElement interface: attribute type assert_equals: getter must be Function expected "function" but got "undefined"
PASS HTMLLIElement must be primary interface of document.createElement("li")
PASS HTMLDListElement interface object length
PASS HTMLDListElement interface object name
PASS HTMLDListElement interface: existence and properties of interface prototype object
-FAIL HTMLDListElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLDListElement.prototype.constructor is not writable expected true got false
+PASS HTMLDListElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLDListElement interface: attribute compact assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLDivElement interface: existence and properties of interface object assert_equals: class string of HTMLDivElement expected "[object Function]" but got "[object HTMLDivElementConstructor]"
PASS HTMLDivElement interface object length
PASS HTMLDivElement interface object name
PASS HTMLDivElement interface: existence and properties of interface prototype object
-FAIL HTMLDivElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLDivElement.prototype.constructor is not writable expected true got false
+PASS HTMLDivElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLDivElement interface: attribute align assert_equals: getter must be Function expected "function" but got "undefined"
PASS HTMLDivElement must be primary interface of document.createElement("div")
PASS Stringification of document.createElement("div")
PASS HTMLAnchorElement interface object length
PASS HTMLAnchorElement interface object name
PASS HTMLAnchorElement interface: existence and properties of interface prototype object
-FAIL HTMLAnchorElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLAnchorElement.prototype.constructor is not writable expected true got false
+PASS HTMLAnchorElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLAnchorElement interface: attribute target assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLAnchorElement interface: attribute download assert_true: The prototype object must have a property "download" expected true got false
FAIL HTMLAnchorElement interface: attribute ping assert_equals: getter must be Function expected "function" but got "undefined"
PASS HTMLDataElement interface object length
PASS HTMLDataElement interface object name
PASS HTMLDataElement interface: existence and properties of interface prototype object
-FAIL HTMLDataElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLDataElement.prototype.constructor is not writable expected true got false
+PASS HTMLDataElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLDataElement interface: attribute value assert_equals: getter must be Function expected "function" but got "undefined"
PASS HTMLDataElement must be primary interface of document.createElement("data")
PASS Stringification of document.createElement("data")
PASS HTMLTimeElement interface object length
PASS HTMLTimeElement interface object name
PASS HTMLTimeElement interface: existence and properties of interface prototype object
-FAIL HTMLTimeElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLTimeElement.prototype.constructor is not writable expected true got false
+PASS HTMLTimeElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLTimeElement interface: attribute dateTime assert_equals: getter must be Function expected "function" but got "undefined"
PASS HTMLTimeElement must be primary interface of document.createElement("time")
PASS Stringification of document.createElement("time")
PASS HTMLSpanElement interface object length
PASS HTMLSpanElement interface object name
PASS HTMLSpanElement interface: existence and properties of interface prototype object
-FAIL HTMLSpanElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLSpanElement.prototype.constructor is not writable expected true got false
+PASS HTMLSpanElement interface: existence and properties of interface prototype object's "constructor" property
PASS HTMLSpanElement must be primary interface of document.createElement("span")
PASS Stringification of document.createElement("span")
FAIL HTMLBRElement interface: existence and properties of interface object assert_equals: class string of HTMLBRElement expected "[object Function]" but got "[object HTMLBRElementConstructor]"
PASS HTMLBRElement interface object length
PASS HTMLBRElement interface object name
PASS HTMLBRElement interface: existence and properties of interface prototype object
-FAIL HTMLBRElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLBRElement.prototype.constructor is not writable expected true got false
+PASS HTMLBRElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLBRElement interface: attribute clear assert_equals: getter must be Function expected "function" but got "undefined"
PASS HTMLBRElement must be primary interface of document.createElement("br")
PASS Stringification of document.createElement("br")
PASS HTMLModElement interface object length
PASS HTMLModElement interface object name
PASS HTMLModElement interface: existence and properties of interface prototype object
-FAIL HTMLModElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLModElement.prototype.constructor is not writable expected true got false
+PASS HTMLModElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLModElement interface: attribute cite assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLModElement interface: attribute dateTime assert_equals: getter must be Function expected "function" but got "undefined"
PASS HTMLModElement must be primary interface of document.createElement("ins")
PASS HTMLPictureElement interface object length
PASS HTMLPictureElement interface object name
PASS HTMLPictureElement interface: existence and properties of interface prototype object
-FAIL HTMLPictureElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLPictureElement.prototype.constructor is not writable expected true got false
+PASS HTMLPictureElement interface: existence and properties of interface prototype object's "constructor" property
PASS HTMLPictureElement must be primary interface of document.createElement("picture")
PASS Stringification of document.createElement("picture")
FAIL HTMLImageElement interface: existence and properties of interface object assert_equals: class string of HTMLImageElement expected "[object Function]" but got "[object HTMLImageElementConstructor]"
PASS HTMLImageElement interface object length
PASS HTMLImageElement interface object name
PASS HTMLImageElement interface: existence and properties of interface prototype object
-FAIL HTMLImageElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLImageElement.prototype.constructor is not writable expected true got false
+PASS HTMLImageElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLImageElement interface: attribute alt assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLImageElement interface: attribute src assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLImageElement interface: attribute srcset assert_equals: getter must be Function expected "function" but got "undefined"
PASS HTMLIFrameElement interface object length
PASS HTMLIFrameElement interface object name
PASS HTMLIFrameElement interface: existence and properties of interface prototype object
-FAIL HTMLIFrameElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLIFrameElement.prototype.constructor is not writable expected true got false
+PASS HTMLIFrameElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLIFrameElement interface: attribute src assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLIFrameElement interface: attribute srcdoc assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLIFrameElement interface: attribute name assert_equals: getter must be Function expected "function" but got "undefined"
PASS HTMLEmbedElement interface object length
PASS HTMLEmbedElement interface object name
PASS HTMLEmbedElement interface: existence and properties of interface prototype object
-FAIL HTMLEmbedElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLEmbedElement.prototype.constructor is not writable expected true got false
+PASS HTMLEmbedElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLEmbedElement interface: attribute src assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLEmbedElement interface: attribute type assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLEmbedElement interface: attribute width assert_equals: getter must be Function expected "function" but got "undefined"
PASS HTMLObjectElement interface object length
PASS HTMLObjectElement interface object name
PASS HTMLObjectElement interface: existence and properties of interface prototype object
-FAIL HTMLObjectElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLObjectElement.prototype.constructor is not writable expected true got false
+PASS HTMLObjectElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLObjectElement interface: attribute data assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLObjectElement interface: attribute type assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLObjectElement interface: attribute typeMustMatch assert_true: The prototype object must have a property "typeMustMatch" expected true got false
PASS HTMLParamElement interface object length
PASS HTMLParamElement interface object name
PASS HTMLParamElement interface: existence and properties of interface prototype object
-FAIL HTMLParamElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLParamElement.prototype.constructor is not writable expected true got false
+PASS HTMLParamElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLParamElement interface: attribute name assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLParamElement interface: attribute value assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLParamElement interface: attribute type assert_equals: getter must be Function expected "function" but got "undefined"
PASS HTMLVideoElement interface object length
PASS HTMLVideoElement interface object name
PASS HTMLVideoElement interface: existence and properties of interface prototype object
-FAIL HTMLVideoElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLVideoElement.prototype.constructor is not writable expected true got false
+PASS HTMLVideoElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLVideoElement interface: attribute width assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLVideoElement interface: attribute height assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLVideoElement interface: attribute videoWidth assert_equals: getter must be Function expected "function" but got "undefined"
PASS HTMLAudioElement interface object length
PASS HTMLAudioElement interface object name
PASS HTMLAudioElement interface: existence and properties of interface prototype object
-FAIL HTMLAudioElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLAudioElement.prototype.constructor is not writable expected true got false
+PASS HTMLAudioElement interface: existence and properties of interface prototype object's "constructor" property
PASS HTMLAudioElement must be primary interface of document.createElement("audio")
PASS Stringification of document.createElement("audio")
PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "error" with the proper type (0)
PASS HTMLSourceElement interface object length
PASS HTMLSourceElement interface object name
PASS HTMLSourceElement interface: existence and properties of interface prototype object
-FAIL HTMLSourceElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLSourceElement.prototype.constructor is not writable expected true got false
+PASS HTMLSourceElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLSourceElement interface: attribute src assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLSourceElement interface: attribute type assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLSourceElement interface: attribute srcset assert_true: The prototype object must have a property "srcset" expected true got false
PASS HTMLTrackElement interface object length
PASS HTMLTrackElement interface object name
PASS HTMLTrackElement interface: existence and properties of interface prototype object
-FAIL HTMLTrackElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLTrackElement.prototype.constructor is not writable expected true got false
+PASS HTMLTrackElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLTrackElement interface: attribute kind assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLTrackElement interface: attribute src assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLTrackElement interface: attribute srclang assert_equals: getter must be Function expected "function" but got "undefined"
PASS HTMLMediaElement interface object length
PASS HTMLMediaElement interface object name
PASS HTMLMediaElement interface: existence and properties of interface prototype object
-FAIL HTMLMediaElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLMediaElement.prototype.constructor is not writable expected true got false
+PASS HTMLMediaElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLMediaElement interface: attribute error assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLMediaElement interface: attribute src assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLMediaElement interface: attribute currentSrc assert_equals: getter must be Function expected "function" but got "undefined"
PASS MediaError interface object length
PASS MediaError interface object name
PASS MediaError interface: existence and properties of interface prototype object
-FAIL MediaError interface: existence and properties of interface prototype object's "constructor" property assert_true: MediaError.prototype.constructor is not writable expected true got false
+PASS MediaError interface: existence and properties of interface prototype object's "constructor" property
PASS MediaError interface: constant MEDIA_ERR_ABORTED on interface object
PASS MediaError interface: constant MEDIA_ERR_ABORTED on interface prototype object
PASS MediaError interface: constant MEDIA_ERR_NETWORK on interface object
PASS MediaController interface object length
PASS MediaController interface object name
FAIL MediaController interface: existence and properties of interface prototype object assert_equals: prototype of MediaController.prototype is not EventTarget.prototype expected object "[object EventTargetPrototype]" but got object "[object Object]"
-FAIL MediaController interface: existence and properties of interface prototype object's "constructor" property assert_true: MediaController.prototype.constructor is not writable expected true got false
+PASS MediaController interface: existence and properties of interface prototype object's "constructor" property
FAIL MediaController interface: attribute readyState assert_true: The prototype object must have a property "readyState" expected true got false
FAIL MediaController interface: attribute buffered assert_equals: getter must be Function expected "function" but got "undefined"
FAIL MediaController interface: attribute seekable assert_equals: getter must be Function expected "function" but got "undefined"
PASS TextTrackList interface object length
PASS TextTrackList interface object name
FAIL TextTrackList interface: existence and properties of interface prototype object assert_equals: prototype of TextTrackList.prototype is not EventTarget.prototype expected object "[object EventTargetPrototype]" but got object "[object Object]"
-FAIL TextTrackList interface: existence and properties of interface prototype object's "constructor" property assert_true: TextTrackList.prototype.constructor is not writable expected true got false
+PASS TextTrackList interface: existence and properties of interface prototype object's "constructor" property
FAIL TextTrackList interface: attribute length assert_true: The prototype object must have a property "length" expected true got false
PASS TextTrackList interface: operation getTrackById(DOMString)
FAIL TextTrackList interface: attribute onchange assert_equals: getter must be Function expected "function" but got "undefined"
PASS TextTrack interface object length
PASS TextTrack interface object name
FAIL TextTrack interface: existence and properties of interface prototype object assert_equals: prototype of TextTrack.prototype is not EventTarget.prototype expected object "[object EventTargetPrototype]" but got object "[object Object]"
-FAIL TextTrack interface: existence and properties of interface prototype object's "constructor" property assert_true: TextTrack.prototype.constructor is not writable expected true got false
+PASS TextTrack interface: existence and properties of interface prototype object's "constructor" property
FAIL TextTrack interface: attribute kind assert_true: The prototype object must have a property "kind" expected true got false
FAIL TextTrack interface: attribute label assert_equals: getter must be Function expected "function" but got "undefined"
FAIL TextTrack interface: attribute language assert_true: The prototype object must have a property "language" expected true got false
PASS TextTrackCueList interface object length
PASS TextTrackCueList interface object name
PASS TextTrackCueList interface: existence and properties of interface prototype object
-FAIL TextTrackCueList interface: existence and properties of interface prototype object's "constructor" property assert_true: TextTrackCueList.prototype.constructor is not writable expected true got false
+PASS TextTrackCueList interface: existence and properties of interface prototype object's "constructor" property
FAIL TextTrackCueList interface: attribute length assert_true: The prototype object must have a property "length" expected true got false
PASS TextTrackCueList interface: operation getCueById(DOMString)
PASS TextTrackCueList must be primary interface of document.createElement("video").addTextTrack("subtitles").cues
FAIL TextTrackCue interface object length assert_equals: wrong value for TextTrackCue.length expected 0 but got 3
PASS TextTrackCue interface object name
FAIL TextTrackCue interface: existence and properties of interface prototype object assert_equals: prototype of TextTrackCue.prototype is not EventTarget.prototype expected object "[object EventTargetPrototype]" but got object "[object Object]"
-FAIL TextTrackCue interface: existence and properties of interface prototype object's "constructor" property assert_true: TextTrackCue.prototype.constructor is not writable expected true got false
+PASS TextTrackCue interface: existence and properties of interface prototype object's "constructor" property
FAIL TextTrackCue interface: attribute track assert_equals: getter must be Function expected "function" but got "undefined"
FAIL TextTrackCue interface: attribute id assert_equals: getter must be Function expected "function" but got "undefined"
FAIL TextTrackCue interface: attribute startTime assert_equals: getter must be Function expected "function" but got "undefined"
PASS TimeRanges interface object length
PASS TimeRanges interface object name
PASS TimeRanges interface: existence and properties of interface prototype object
-FAIL TimeRanges interface: existence and properties of interface prototype object's "constructor" property assert_true: TimeRanges.prototype.constructor is not writable expected true got false
+PASS TimeRanges interface: existence and properties of interface prototype object's "constructor" property
FAIL TimeRanges interface: attribute length assert_true: The prototype object must have a property "length" expected true got false
PASS TimeRanges interface: operation start(unsigned long)
PASS TimeRanges interface: operation end(unsigned long)
PASS TrackEvent interface object length
PASS TrackEvent interface object name
PASS TrackEvent interface: existence and properties of interface prototype object
-FAIL TrackEvent interface: existence and properties of interface prototype object's "constructor" property assert_true: TrackEvent.prototype.constructor is not writable expected true got false
+PASS TrackEvent interface: existence and properties of interface prototype object's "constructor" property
FAIL TrackEvent interface: attribute track assert_true: The prototype object must have a property "track" expected true got false
FAIL TrackEvent must be primary interface of new TrackEvent("addtrack"; {track:document.createElement("track").track}) assert_equals: Unexpected exception when evaluating object expected null but got object "SyntaxError: Unexpected token ';'. Expected ')' to end a ..."
FAIL Stringification of new TrackEvent("addtrack"; {track:document.createElement("track").track}) assert_equals: Unexpected exception when evaluating object expected null but got object "SyntaxError: Unexpected token ';'. Expected ')' to end a ..."
PASS HTMLMapElement interface object length
PASS HTMLMapElement interface object name
PASS HTMLMapElement interface: existence and properties of interface prototype object
-FAIL HTMLMapElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLMapElement.prototype.constructor is not writable expected true got false
+PASS HTMLMapElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLMapElement interface: attribute name assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLMapElement interface: attribute areas assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLMapElement interface: attribute images assert_true: The prototype object must have a property "images" expected true got false
PASS HTMLAreaElement interface object length
PASS HTMLAreaElement interface object name
PASS HTMLAreaElement interface: existence and properties of interface prototype object
-FAIL HTMLAreaElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLAreaElement.prototype.constructor is not writable expected true got false
+PASS HTMLAreaElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLAreaElement interface: attribute alt assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLAreaElement interface: attribute coords assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLAreaElement interface: attribute shape assert_equals: getter must be Function expected "function" but got "undefined"
PASS HTMLTableElement interface object length
PASS HTMLTableElement interface object name
PASS HTMLTableElement interface: existence and properties of interface prototype object
-FAIL HTMLTableElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLTableElement.prototype.constructor is not writable expected true got false
+PASS HTMLTableElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLTableElement interface: attribute caption assert_equals: getter must be Function expected "function" but got "undefined"
PASS HTMLTableElement interface: operation createCaption()
PASS HTMLTableElement interface: operation deleteCaption()
PASS HTMLTableCaptionElement interface object length
PASS HTMLTableCaptionElement interface object name
PASS HTMLTableCaptionElement interface: existence and properties of interface prototype object
-FAIL HTMLTableCaptionElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLTableCaptionElement.prototype.constructor is not writable expected true got false
+PASS HTMLTableCaptionElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLTableCaptionElement interface: attribute align assert_equals: getter must be Function expected "function" but got "undefined"
PASS HTMLTableCaptionElement must be primary interface of document.createElement("caption")
PASS Stringification of document.createElement("caption")
PASS HTMLTableColElement interface object length
PASS HTMLTableColElement interface object name
PASS HTMLTableColElement interface: existence and properties of interface prototype object
-FAIL HTMLTableColElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLTableColElement.prototype.constructor is not writable expected true got false
+PASS HTMLTableColElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLTableColElement interface: attribute span assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLTableColElement interface: attribute align assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLTableColElement interface: attribute ch assert_equals: getter must be Function expected "function" but got "undefined"
PASS HTMLTableSectionElement interface object length
PASS HTMLTableSectionElement interface object name
PASS HTMLTableSectionElement interface: existence and properties of interface prototype object
-FAIL HTMLTableSectionElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLTableSectionElement.prototype.constructor is not writable expected true got false
+PASS HTMLTableSectionElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLTableSectionElement interface: attribute rows assert_equals: getter must be Function expected "function" but got "undefined"
PASS HTMLTableSectionElement interface: operation insertRow(long)
FAIL HTMLTableSectionElement interface: operation deleteRow(long) assert_equals: property has wrong .length expected 1 but got 0
PASS HTMLTableRowElement interface object length
PASS HTMLTableRowElement interface object name
PASS HTMLTableRowElement interface: existence and properties of interface prototype object
-FAIL HTMLTableRowElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLTableRowElement.prototype.constructor is not writable expected true got false
+PASS HTMLTableRowElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLTableRowElement interface: attribute rowIndex assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLTableRowElement interface: attribute sectionRowIndex assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLTableRowElement interface: attribute cells assert_equals: getter must be Function expected "function" but got "undefined"
PASS HTMLTableDataCellElement interface object length
PASS HTMLTableDataCellElement interface object name
PASS HTMLTableDataCellElement interface: existence and properties of interface prototype object
-FAIL HTMLTableDataCellElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLTableDataCellElement.prototype.constructor is not writable expected true got false
+PASS HTMLTableDataCellElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLTableDataCellElement interface: attribute abbr assert_equals: getter must be Function expected "function" but got "undefined"
PASS HTMLTableDataCellElement must be primary interface of document.createElement("td")
PASS Stringification of document.createElement("td")
PASS HTMLTableHeaderCellElement interface object length
PASS HTMLTableHeaderCellElement interface object name
PASS HTMLTableHeaderCellElement interface: existence and properties of interface prototype object
-FAIL HTMLTableHeaderCellElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLTableHeaderCellElement.prototype.constructor is not writable expected true got false
+PASS HTMLTableHeaderCellElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLTableHeaderCellElement interface: attribute scope assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLTableHeaderCellElement interface: attribute abbr assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLTableHeaderCellElement interface: attribute sorted assert_true: The prototype object must have a property "sorted" expected true got false
PASS HTMLTableCellElement interface object length
PASS HTMLTableCellElement interface object name
PASS HTMLTableCellElement interface: existence and properties of interface prototype object
-FAIL HTMLTableCellElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLTableCellElement.prototype.constructor is not writable expected true got false
+PASS HTMLTableCellElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLTableCellElement interface: attribute colSpan assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLTableCellElement interface: attribute rowSpan assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLTableCellElement interface: attribute headers assert_equals: getter must be Function expected "function" but got "undefined"
PASS HTMLFormElement interface object length
PASS HTMLFormElement interface object name
PASS HTMLFormElement interface: existence and properties of interface prototype object
-FAIL HTMLFormElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLFormElement.prototype.constructor is not writable expected true got false
+PASS HTMLFormElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLFormElement interface: attribute acceptCharset assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLFormElement interface: attribute action assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLFormElement interface: attribute autocomplete assert_equals: getter must be Function expected "function" but got "undefined"
PASS HTMLLabelElement interface object length
PASS HTMLLabelElement interface object name
PASS HTMLLabelElement interface: existence and properties of interface prototype object
-FAIL HTMLLabelElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLLabelElement.prototype.constructor is not writable expected true got false
+PASS HTMLLabelElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLLabelElement interface: attribute form assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLLabelElement interface: attribute htmlFor assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLLabelElement interface: attribute control assert_equals: getter must be Function expected "function" but got "undefined"
PASS HTMLInputElement interface object length
PASS HTMLInputElement interface object name
PASS HTMLInputElement interface: existence and properties of interface prototype object
-FAIL HTMLInputElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLInputElement.prototype.constructor is not writable expected true got false
+PASS HTMLInputElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLInputElement interface: attribute accept assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLInputElement interface: attribute alt assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLInputElement interface: attribute autocomplete assert_equals: getter must be Function expected "function" but got "undefined"
PASS HTMLButtonElement interface object length
PASS HTMLButtonElement interface object name
PASS HTMLButtonElement interface: existence and properties of interface prototype object
-FAIL HTMLButtonElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLButtonElement.prototype.constructor is not writable expected true got false
+PASS HTMLButtonElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLButtonElement interface: attribute autofocus assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLButtonElement interface: attribute disabled assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLButtonElement interface: attribute form assert_equals: getter must be Function expected "function" but got "undefined"
PASS HTMLSelectElement interface object length
PASS HTMLSelectElement interface object name
PASS HTMLSelectElement interface: existence and properties of interface prototype object
-FAIL HTMLSelectElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLSelectElement.prototype.constructor is not writable expected true got false
+PASS HTMLSelectElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLSelectElement interface: attribute autocomplete assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLSelectElement interface: attribute autofocus assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLSelectElement interface: attribute disabled assert_equals: getter must be Function expected "function" but got "undefined"
PASS HTMLOptGroupElement interface object length
PASS HTMLOptGroupElement interface object name
PASS HTMLOptGroupElement interface: existence and properties of interface prototype object
-FAIL HTMLOptGroupElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLOptGroupElement.prototype.constructor is not writable expected true got false
+PASS HTMLOptGroupElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLOptGroupElement interface: attribute disabled assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLOptGroupElement interface: attribute label assert_equals: getter must be Function expected "function" but got "undefined"
PASS HTMLOptGroupElement must be primary interface of document.createElement("optgroup")
PASS HTMLOptionElement interface object length
PASS HTMLOptionElement interface object name
PASS HTMLOptionElement interface: existence and properties of interface prototype object
-FAIL HTMLOptionElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLOptionElement.prototype.constructor is not writable expected true got false
+PASS HTMLOptionElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLOptionElement interface: attribute disabled assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLOptionElement interface: attribute form assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLOptionElement interface: attribute label assert_equals: getter must be Function expected "function" but got "undefined"
PASS HTMLTextAreaElement interface object length
PASS HTMLTextAreaElement interface object name
PASS HTMLTextAreaElement interface: existence and properties of interface prototype object
-FAIL HTMLTextAreaElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLTextAreaElement.prototype.constructor is not writable expected true got false
+PASS HTMLTextAreaElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLTextAreaElement interface: attribute autocomplete assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLTextAreaElement interface: attribute autofocus assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLTextAreaElement interface: attribute cols assert_equals: getter must be Function expected "function" but got "undefined"
PASS HTMLKeygenElement interface object length
PASS HTMLKeygenElement interface object name
PASS HTMLKeygenElement interface: existence and properties of interface prototype object
-FAIL HTMLKeygenElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLKeygenElement.prototype.constructor is not writable expected true got false
+PASS HTMLKeygenElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLKeygenElement interface: attribute autofocus assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLKeygenElement interface: attribute challenge assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLKeygenElement interface: attribute disabled assert_equals: getter must be Function expected "function" but got "undefined"
PASS HTMLOutputElement interface object length
PASS HTMLOutputElement interface object name
PASS HTMLOutputElement interface: existence and properties of interface prototype object
-FAIL HTMLOutputElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLOutputElement.prototype.constructor is not writable expected true got false
+PASS HTMLOutputElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLOutputElement interface: attribute htmlFor assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLOutputElement interface: attribute form assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLOutputElement interface: attribute name assert_equals: getter must be Function expected "function" but got "undefined"
PASS HTMLProgressElement interface object length
PASS HTMLProgressElement interface object name
PASS HTMLProgressElement interface: existence and properties of interface prototype object
-FAIL HTMLProgressElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLProgressElement.prototype.constructor is not writable expected true got false
+PASS HTMLProgressElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLProgressElement interface: attribute value assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLProgressElement interface: attribute max assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLProgressElement interface: attribute position assert_equals: getter must be Function expected "function" but got "undefined"
PASS HTMLMeterElement interface object length
PASS HTMLMeterElement interface object name
PASS HTMLMeterElement interface: existence and properties of interface prototype object
-FAIL HTMLMeterElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLMeterElement.prototype.constructor is not writable expected true got false
+PASS HTMLMeterElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLMeterElement interface: attribute value assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLMeterElement interface: attribute min assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLMeterElement interface: attribute max assert_equals: getter must be Function expected "function" but got "undefined"
PASS HTMLFieldSetElement interface object length
PASS HTMLFieldSetElement interface object name
PASS HTMLFieldSetElement interface: existence and properties of interface prototype object
-FAIL HTMLFieldSetElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLFieldSetElement.prototype.constructor is not writable expected true got false
+PASS HTMLFieldSetElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLFieldSetElement interface: attribute disabled assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLFieldSetElement interface: attribute form assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLFieldSetElement interface: attribute name assert_equals: getter must be Function expected "function" but got "undefined"
PASS HTMLLegendElement interface object length
PASS HTMLLegendElement interface object name
PASS HTMLLegendElement interface: existence and properties of interface prototype object
-FAIL HTMLLegendElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLLegendElement.prototype.constructor is not writable expected true got false
+PASS HTMLLegendElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLLegendElement interface: attribute form assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLLegendElement interface: attribute align assert_equals: getter must be Function expected "function" but got "undefined"
PASS HTMLLegendElement must be primary interface of document.createElement("legend")
PASS ValidityState interface object length
PASS ValidityState interface object name
PASS ValidityState interface: existence and properties of interface prototype object
-FAIL ValidityState interface: existence and properties of interface prototype object's "constructor" property assert_true: ValidityState.prototype.constructor is not writable expected true got false
+PASS ValidityState interface: existence and properties of interface prototype object's "constructor" property
FAIL ValidityState interface: attribute valueMissing assert_equals: getter must be Function expected "function" but got "undefined"
FAIL ValidityState interface: attribute typeMismatch assert_equals: getter must be Function expected "function" but got "undefined"
FAIL ValidityState interface: attribute patternMismatch assert_equals: getter must be Function expected "function" but got "undefined"
PASS HTMLDetailsElement interface object length
PASS HTMLDetailsElement interface object name
PASS HTMLDetailsElement interface: existence and properties of interface prototype object
-FAIL HTMLDetailsElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLDetailsElement.prototype.constructor is not writable expected true got false
+PASS HTMLDetailsElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLDetailsElement interface: attribute open assert_equals: getter must be Function expected "function" but got "undefined"
PASS HTMLDetailsElement must be primary interface of document.createElement("details")
PASS Stringification of document.createElement("details")
PASS HTMLMenuElement interface object length
PASS HTMLMenuElement interface object name
PASS HTMLMenuElement interface: existence and properties of interface prototype object
-FAIL HTMLMenuElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLMenuElement.prototype.constructor is not writable expected true got false
+PASS HTMLMenuElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLMenuElement interface: attribute type assert_true: The prototype object must have a property "type" expected true got false
FAIL HTMLMenuElement interface: attribute label assert_true: The prototype object must have a property "label" expected true got false
FAIL HTMLMenuElement interface: attribute compact assert_equals: getter must be Function expected "function" but got "undefined"
PASS HTMLScriptElement interface object length
PASS HTMLScriptElement interface object name
PASS HTMLScriptElement interface: existence and properties of interface prototype object
-FAIL HTMLScriptElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLScriptElement.prototype.constructor is not writable expected true got false
+PASS HTMLScriptElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLScriptElement interface: attribute src assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLScriptElement interface: attribute type assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLScriptElement interface: attribute charset assert_equals: getter must be Function expected "function" but got "undefined"
PASS HTMLTemplateElement interface object length
PASS HTMLTemplateElement interface object name
PASS HTMLTemplateElement interface: existence and properties of interface prototype object
-FAIL HTMLTemplateElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLTemplateElement.prototype.constructor is not writable expected true got false
+PASS HTMLTemplateElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLTemplateElement interface: attribute content assert_true: The prototype object must have a property "content" expected true got false
FAIL HTMLCanvasElement interface: existence and properties of interface object assert_equals: class string of HTMLCanvasElement expected "[object Function]" but got "[object HTMLCanvasElementConstructor]"
PASS HTMLCanvasElement interface object length
PASS HTMLCanvasElement interface object name
PASS HTMLCanvasElement interface: existence and properties of interface prototype object
-FAIL HTMLCanvasElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLCanvasElement.prototype.constructor is not writable expected true got false
+PASS HTMLCanvasElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLCanvasElement interface: attribute width assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLCanvasElement interface: attribute height assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLCanvasElement interface: operation getContext(DOMString,any) assert_equals: property has wrong .length expected 1 but got 0
FAIL CanvasRenderingContext2D interface object length assert_equals: wrong value for CanvasRenderingContext2D.length expected 1 but got 0
PASS CanvasRenderingContext2D interface object name
FAIL CanvasRenderingContext2D interface: existence and properties of interface prototype object assert_equals: prototype of CanvasRenderingContext2D.prototype is not Object.prototype expected object "[object Object]" but got object "[object CanvasRenderingContextPrototype]"
-FAIL CanvasRenderingContext2D interface: existence and properties of interface prototype object's "constructor" property assert_true: CanvasRenderingContext2D.prototype.constructor is not writable expected true got false
+PASS CanvasRenderingContext2D interface: existence and properties of interface prototype object's "constructor" property
FAIL CanvasRenderingContext2D interface: attribute canvas assert_own_property: expected property "canvas" missing
FAIL CanvasRenderingContext2D interface: attribute width assert_true: The prototype object must have a property "width" expected true got false
FAIL CanvasRenderingContext2D interface: attribute height assert_true: The prototype object must have a property "height" expected true got false
PASS CanvasGradient interface object length
PASS CanvasGradient interface object name
PASS CanvasGradient interface: existence and properties of interface prototype object
-FAIL CanvasGradient interface: existence and properties of interface prototype object's "constructor" property assert_true: CanvasGradient.prototype.constructor is not writable expected true got false
+PASS CanvasGradient interface: existence and properties of interface prototype object's "constructor" property
FAIL CanvasGradient interface: operation addColorStop(double,DOMString) assert_equals: property has wrong .length expected 2 but got 0
FAIL CanvasPattern interface: existence and properties of interface object assert_equals: class string of CanvasPattern expected "[object Function]" but got "[object CanvasPatternConstructor]"
PASS CanvasPattern interface object length
PASS CanvasPattern interface object name
PASS CanvasPattern interface: existence and properties of interface prototype object
-FAIL CanvasPattern interface: existence and properties of interface prototype object's "constructor" property assert_true: CanvasPattern.prototype.constructor is not writable expected true got false
+PASS CanvasPattern interface: existence and properties of interface prototype object's "constructor" property
FAIL CanvasPattern interface: operation setTransform(SVGMatrix) assert_own_property: interface prototype object missing non-static operation expected property "setTransform" missing
FAIL TextMetrics interface: existence and properties of interface object assert_equals: class string of TextMetrics expected "[object Function]" but got "[object TextMetricsConstructor]"
PASS TextMetrics interface object length
PASS TextMetrics interface object name
PASS TextMetrics interface: existence and properties of interface prototype object
-FAIL TextMetrics interface: existence and properties of interface prototype object's "constructor" property assert_true: TextMetrics.prototype.constructor is not writable expected true got false
+PASS TextMetrics interface: existence and properties of interface prototype object's "constructor" property
FAIL TextMetrics interface: attribute width assert_equals: getter must be Function expected "function" but got "undefined"
FAIL TextMetrics interface: attribute actualBoundingBoxLeft assert_true: The prototype object must have a property "actualBoundingBoxLeft" expected true got false
FAIL TextMetrics interface: attribute actualBoundingBoxRight assert_true: The prototype object must have a property "actualBoundingBoxRight" expected true got false
PASS ImageData interface object length
PASS ImageData interface object name
PASS ImageData interface: existence and properties of interface prototype object
-FAIL ImageData interface: existence and properties of interface prototype object's "constructor" property assert_true: ImageData.prototype.constructor is not writable expected true got false
+PASS ImageData interface: existence and properties of interface prototype object's "constructor" property
FAIL ImageData interface: attribute width assert_equals: getter must be Function expected "function" but got "undefined"
FAIL ImageData interface: attribute height assert_equals: getter must be Function expected "function" but got "undefined"
FAIL ImageData interface: attribute data assert_true: The prototype object must have a property "data" expected true got false
PASS Path2D interface object length
PASS Path2D interface object name
PASS Path2D interface: existence and properties of interface prototype object
-FAIL Path2D interface: existence and properties of interface prototype object's "constructor" property assert_true: Path2D.prototype.constructor is not writable expected true got false
+PASS Path2D interface: existence and properties of interface prototype object's "constructor" property
PASS Path2D interface: operation addPath(Path2D,SVGMatrix)
FAIL Path2D interface: operation addPathByStrokingPath(Path2D,CanvasDrawingStyles,SVGMatrix) assert_own_property: interface prototype object missing non-static operation expected property "addPathByStrokingPath" missing
FAIL Path2D interface: operation addText(DOMString,CanvasDrawingStyles,SVGMatrix,unrestricted double,unrestricted double,unrestricted double) assert_own_property: interface prototype object missing non-static operation expected property "addText" missing
PASS DataTransfer interface object length
PASS DataTransfer interface object name
PASS DataTransfer interface: existence and properties of interface prototype object
-FAIL DataTransfer interface: existence and properties of interface prototype object's "constructor" property assert_true: DataTransfer.prototype.constructor is not writable expected true got false
+PASS DataTransfer interface: existence and properties of interface prototype object's "constructor" property
FAIL DataTransfer interface: attribute dropEffect assert_equals: getter must be Function expected "function" but got "undefined"
FAIL DataTransfer interface: attribute effectAllowed assert_equals: getter must be Function expected "function" but got "undefined"
FAIL DataTransfer interface: attribute items assert_true: The prototype object must have a property "items" expected true got false
PASS BarProp interface object length
PASS BarProp interface object name
PASS BarProp interface: existence and properties of interface prototype object
-FAIL BarProp interface: existence and properties of interface prototype object's "constructor" property assert_true: BarProp.prototype.constructor is not writable expected true got false
+PASS BarProp interface: existence and properties of interface prototype object's "constructor" property
FAIL BarProp interface: attribute visible assert_equals: getter must be Function expected "function" but got "undefined"
FAIL History interface: existence and properties of interface object assert_equals: class string of History expected "[object Function]" but got "[object HistoryConstructor]"
PASS History interface object length
PASS History interface object name
PASS History interface: existence and properties of interface prototype object
-FAIL History interface: existence and properties of interface prototype object's "constructor" property assert_true: History.prototype.constructor is not writable expected true got false
+PASS History interface: existence and properties of interface prototype object's "constructor" property
FAIL History interface: attribute length assert_true: The prototype object must have a property "length" expected true got false
FAIL History interface: attribute state assert_true: The prototype object must have a property "state" expected true got false
PASS History interface: operation go(long)
PASS Location interface object length
PASS Location interface object name
PASS Location interface: existence and properties of interface prototype object
-FAIL Location interface: existence and properties of interface prototype object's "constructor" property assert_true: Location.prototype.constructor is not writable expected true got false
+PASS Location interface: existence and properties of interface prototype object's "constructor" property
PASS Location must be primary interface of window.location
PASS Stringification of window.location
FAIL Location interface: window.location must have own property "href" assert_equals: getter must be Function expected "function" but got "undefined"
PASS PopStateEvent interface object length
PASS PopStateEvent interface object name
PASS PopStateEvent interface: existence and properties of interface prototype object
-FAIL PopStateEvent interface: existence and properties of interface prototype object's "constructor" property assert_true: PopStateEvent.prototype.constructor is not writable expected true got false
+PASS PopStateEvent interface: existence and properties of interface prototype object's "constructor" property
FAIL PopStateEvent interface: attribute state assert_true: The prototype object must have a property "state" expected true got false
PASS PopStateEvent must be primary interface of new PopStateEvent("popstate", { data: {} })
PASS Stringification of new PopStateEvent("popstate", { data: {} })
PASS HashChangeEvent interface object length
PASS HashChangeEvent interface object name
PASS HashChangeEvent interface: existence and properties of interface prototype object
-FAIL HashChangeEvent interface: existence and properties of interface prototype object's "constructor" property assert_true: HashChangeEvent.prototype.constructor is not writable expected true got false
+PASS HashChangeEvent interface: existence and properties of interface prototype object's "constructor" property
FAIL HashChangeEvent interface: attribute oldURL assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HashChangeEvent interface: attribute newURL assert_equals: getter must be Function expected "function" but got "undefined"
FAIL PageTransitionEvent interface: existence and properties of interface object assert_equals: class string of PageTransitionEvent expected "[object Function]" but got "[object PageTransitionEventConstructor]"
PASS PageTransitionEvent interface object length
PASS PageTransitionEvent interface object name
PASS PageTransitionEvent interface: existence and properties of interface prototype object
-FAIL PageTransitionEvent interface: existence and properties of interface prototype object's "constructor" property assert_true: PageTransitionEvent.prototype.constructor is not writable expected true got false
+PASS PageTransitionEvent interface: existence and properties of interface prototype object's "constructor" property
FAIL PageTransitionEvent interface: attribute persisted assert_equals: getter must be Function expected "function" but got "undefined"
FAIL BeforeUnloadEvent interface: existence and properties of interface object assert_equals: class string of BeforeUnloadEvent expected "[object Function]" but got "[object BeforeUnloadEventConstructor]"
PASS BeforeUnloadEvent interface object length
PASS BeforeUnloadEvent interface object name
PASS BeforeUnloadEvent interface: existence and properties of interface prototype object
-FAIL BeforeUnloadEvent interface: existence and properties of interface prototype object's "constructor" property assert_true: BeforeUnloadEvent.prototype.constructor is not writable expected true got false
+PASS BeforeUnloadEvent interface: existence and properties of interface prototype object's "constructor" property
FAIL BeforeUnloadEvent interface: attribute returnValue assert_equals: getter must be Function expected "function" but got "undefined"
FAIL ApplicationCache interface: existence and properties of interface object assert_equals: class string of ApplicationCache expected "[object Function]" but got "[object ApplicationCacheConstructor]"
PASS ApplicationCache interface object length
PASS ApplicationCache interface object name
FAIL ApplicationCache interface: existence and properties of interface prototype object assert_equals: prototype of ApplicationCache.prototype is not EventTarget.prototype expected object "[object EventTargetPrototype]" but got object "[object Object]"
-FAIL ApplicationCache interface: existence and properties of interface prototype object's "constructor" property assert_true: ApplicationCache.prototype.constructor is not writable expected true got false
+PASS ApplicationCache interface: existence and properties of interface prototype object's "constructor" property
PASS ApplicationCache interface: constant UNCACHED on interface object
PASS ApplicationCache interface: constant UNCACHED on interface prototype object
PASS ApplicationCache interface: constant IDLE on interface object
PASS ErrorEvent interface object length
PASS ErrorEvent interface object name
PASS ErrorEvent interface: existence and properties of interface prototype object
-FAIL ErrorEvent interface: existence and properties of interface prototype object's "constructor" property assert_true: ErrorEvent.prototype.constructor is not writable expected true got false
+PASS ErrorEvent interface: existence and properties of interface prototype object's "constructor" property
FAIL ErrorEvent interface: attribute message assert_true: The prototype object must have a property "message" expected true got false
FAIL ErrorEvent interface: attribute filename assert_true: The prototype object must have a property "filename" expected true got false
FAIL ErrorEvent interface: attribute lineno assert_true: The prototype object must have a property "lineno" expected true got false
PASS Navigator interface object length
PASS Navigator interface object name
PASS Navigator interface: existence and properties of interface prototype object
-FAIL Navigator interface: existence and properties of interface prototype object's "constructor" property assert_true: Navigator.prototype.constructor is not writable expected true got false
+PASS Navigator interface: existence and properties of interface prototype object's "constructor" property
FAIL Navigator interface: attribute appCodeName assert_true: The prototype object must have a property "appCodeName" expected true got false
FAIL Navigator interface: attribute appName assert_true: The prototype object must have a property "appName" expected true got false
FAIL Navigator interface: attribute appVersion assert_true: The prototype object must have a property "appVersion" expected true got false
PASS PluginArray interface object length
PASS PluginArray interface object name
PASS PluginArray interface: existence and properties of interface prototype object
-FAIL PluginArray interface: existence and properties of interface prototype object's "constructor" property assert_true: PluginArray.prototype.constructor is not writable expected true got false
+PASS PluginArray interface: existence and properties of interface prototype object's "constructor" property
PASS PluginArray interface: operation refresh(boolean)
FAIL PluginArray interface: attribute length assert_true: The prototype object must have a property "length" expected true got false
FAIL PluginArray interface: operation item(unsigned long) assert_equals: property has wrong .length expected 1 but got 0
PASS MimeTypeArray interface object length
PASS MimeTypeArray interface object name
PASS MimeTypeArray interface: existence and properties of interface prototype object
-FAIL MimeTypeArray interface: existence and properties of interface prototype object's "constructor" property assert_true: MimeTypeArray.prototype.constructor is not writable expected true got false
+PASS MimeTypeArray interface: existence and properties of interface prototype object's "constructor" property
FAIL MimeTypeArray interface: attribute length assert_true: The prototype object must have a property "length" expected true got false
FAIL MimeTypeArray interface: operation item(unsigned long) assert_equals: property has wrong .length expected 1 but got 0
FAIL MimeTypeArray interface: operation namedItem(DOMString) assert_equals: property has wrong .length expected 1 but got 0
PASS Plugin interface object length
PASS Plugin interface object name
PASS Plugin interface: existence and properties of interface prototype object
-FAIL Plugin interface: existence and properties of interface prototype object's "constructor" property assert_true: Plugin.prototype.constructor is not writable expected true got false
+PASS Plugin interface: existence and properties of interface prototype object's "constructor" property
FAIL Plugin interface: attribute name assert_equals: getter must be Function expected "function" but got "undefined"
FAIL Plugin interface: attribute description assert_equals: getter must be Function expected "function" but got "undefined"
FAIL Plugin interface: attribute filename assert_equals: getter must be Function expected "function" but got "undefined"
PASS MimeType interface object length
PASS MimeType interface object name
PASS MimeType interface: existence and properties of interface prototype object
-FAIL MimeType interface: existence and properties of interface prototype object's "constructor" property assert_true: MimeType.prototype.constructor is not writable expected true got false
+PASS MimeType interface: existence and properties of interface prototype object's "constructor" property
FAIL MimeType interface: attribute type assert_equals: getter must be Function expected "function" but got "undefined"
FAIL MimeType interface: attribute description assert_equals: getter must be Function expected "function" but got "undefined"
FAIL MimeType interface: attribute suffixes assert_equals: getter must be Function expected "function" but got "undefined"
PASS MessageEvent interface object length
PASS MessageEvent interface object name
PASS MessageEvent interface: existence and properties of interface prototype object
-FAIL MessageEvent interface: existence and properties of interface prototype object's "constructor" property assert_true: MessageEvent.prototype.constructor is not writable expected true got false
+PASS MessageEvent interface: existence and properties of interface prototype object's "constructor" property
FAIL MessageEvent interface: attribute data assert_true: The prototype object must have a property "data" expected true got false
FAIL MessageEvent interface: attribute origin assert_equals: getter must be Function expected "function" but got "undefined"
FAIL MessageEvent interface: attribute lastEventId assert_equals: getter must be Function expected "function" but got "undefined"
PASS EventSource interface object length
PASS EventSource interface object name
FAIL EventSource interface: existence and properties of interface prototype object assert_equals: prototype of EventSource.prototype is not EventTarget.prototype expected object "[object EventTargetPrototype]" but got object "[object Object]"
-FAIL EventSource interface: existence and properties of interface prototype object's "constructor" property assert_true: EventSource.prototype.constructor is not writable expected true got false
+PASS EventSource interface: existence and properties of interface prototype object's "constructor" property
FAIL EventSource interface: attribute url assert_equals: getter must be Function expected "function" but got "undefined"
FAIL EventSource interface: attribute withCredentials assert_equals: getter must be Function expected "function" but got "undefined"
PASS EventSource interface: constant CONNECTING on interface object
PASS WebSocket interface object length
PASS WebSocket interface object name
FAIL WebSocket interface: existence and properties of interface prototype object assert_equals: prototype of WebSocket.prototype is not EventTarget.prototype expected object "[object EventTargetPrototype]" but got object "[object Object]"
-FAIL WebSocket interface: existence and properties of interface prototype object's "constructor" property assert_true: WebSocket.prototype.constructor is not writable expected true got false
+PASS WebSocket interface: existence and properties of interface prototype object's "constructor" property
FAIL WebSocket interface: attribute url assert_equals: getter must be Function expected "function" but got "undefined"
PASS WebSocket interface: constant CONNECTING on interface object
PASS WebSocket interface: constant CONNECTING on interface prototype object
PASS CloseEvent interface object length
PASS CloseEvent interface object name
PASS CloseEvent interface: existence and properties of interface prototype object
-FAIL CloseEvent interface: existence and properties of interface prototype object's "constructor" property assert_true: CloseEvent.prototype.constructor is not writable expected true got false
+PASS CloseEvent interface: existence and properties of interface prototype object's "constructor" property
FAIL CloseEvent interface: attribute wasClean assert_equals: getter must be Function expected "function" but got "undefined"
FAIL CloseEvent interface: attribute code assert_equals: getter must be Function expected "function" but got "undefined"
FAIL CloseEvent interface: attribute reason assert_equals: getter must be Function expected "function" but got "undefined"
PASS MessageChannel interface object length
PASS MessageChannel interface object name
PASS MessageChannel interface: existence and properties of interface prototype object
-FAIL MessageChannel interface: existence and properties of interface prototype object's "constructor" property assert_true: MessageChannel.prototype.constructor is not writable expected true got false
+PASS MessageChannel interface: existence and properties of interface prototype object's "constructor" property
FAIL MessageChannel interface: attribute port1 assert_equals: getter must be Function expected "function" but got "undefined"
FAIL MessageChannel interface: attribute port2 assert_equals: getter must be Function expected "function" but got "undefined"
FAIL MessagePort interface: existence and properties of interface object assert_equals: class string of MessagePort expected "[object Function]" but got "[object MessagePortConstructor]"
PASS MessagePort interface object length
PASS MessagePort interface object name
FAIL MessagePort interface: existence and properties of interface prototype object assert_equals: prototype of MessagePort.prototype is not EventTarget.prototype expected object "[object EventTargetPrototype]" but got object "[object Object]"
-FAIL MessagePort interface: existence and properties of interface prototype object's "constructor" property assert_true: MessagePort.prototype.constructor is not writable expected true got false
+PASS MessagePort interface: existence and properties of interface prototype object's "constructor" property
PASS MessagePort interface: operation postMessage(any,[object Object])
PASS MessagePort interface: operation start()
PASS MessagePort interface: operation close()
PASS Worker interface object length
PASS Worker interface object name
PASS Worker interface: existence and properties of interface prototype object
-FAIL Worker interface: existence and properties of interface prototype object's "constructor" property assert_true: Worker.prototype.constructor is not writable expected true got false
+PASS Worker interface: existence and properties of interface prototype object's "constructor" property
PASS Worker interface: operation terminate()
PASS Worker interface: operation postMessage(any,[object Object])
FAIL Worker interface: attribute onmessage assert_equals: getter must be Function expected "function" but got "undefined"
PASS Storage interface object length
PASS Storage interface object name
PASS Storage interface: existence and properties of interface prototype object
-FAIL Storage interface: existence and properties of interface prototype object's "constructor" property assert_true: Storage.prototype.constructor is not writable expected true got false
+PASS Storage interface: existence and properties of interface prototype object's "constructor" property
FAIL Storage interface: attribute length assert_true: The prototype object must have a property "length" expected true got false
PASS Storage interface: operation key(unsigned long)
PASS Storage interface: operation getItem(DOMString)
PASS StorageEvent interface object length
PASS StorageEvent interface object name
PASS StorageEvent interface: existence and properties of interface prototype object
-FAIL StorageEvent interface: existence and properties of interface prototype object's "constructor" property assert_true: StorageEvent.prototype.constructor is not writable expected true got false
+PASS StorageEvent interface: existence and properties of interface prototype object's "constructor" property
FAIL StorageEvent interface: attribute key assert_equals: getter must be Function expected "function" but got "undefined"
FAIL StorageEvent interface: attribute oldValue assert_equals: getter must be Function expected "function" but got "undefined"
FAIL StorageEvent interface: attribute newValue assert_equals: getter must be Function expected "function" but got "undefined"
PASS HTMLAppletElement interface object length
PASS HTMLAppletElement interface object name
PASS HTMLAppletElement interface: existence and properties of interface prototype object
-FAIL HTMLAppletElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLAppletElement.prototype.constructor is not writable expected true got false
+PASS HTMLAppletElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLAppletElement interface: attribute align assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLAppletElement interface: attribute alt assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLAppletElement interface: attribute archive assert_equals: getter must be Function expected "function" but got "undefined"
PASS HTMLMarqueeElement interface object length
PASS HTMLMarqueeElement interface object name
PASS HTMLMarqueeElement interface: existence and properties of interface prototype object
-FAIL HTMLMarqueeElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLMarqueeElement.prototype.constructor is not writable expected true got false
+PASS HTMLMarqueeElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLMarqueeElement interface: attribute behavior assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLMarqueeElement interface: attribute bgColor assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLMarqueeElement interface: attribute direction assert_equals: getter must be Function expected "function" but got "undefined"
PASS HTMLFrameSetElement interface object length
PASS HTMLFrameSetElement interface object name
PASS HTMLFrameSetElement interface: existence and properties of interface prototype object
-FAIL HTMLFrameSetElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLFrameSetElement.prototype.constructor is not writable expected true got false
+PASS HTMLFrameSetElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLFrameSetElement interface: attribute cols assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLFrameSetElement interface: attribute rows assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLFrameSetElement interface: attribute onafterprint assert_true: The prototype object must have a property "onafterprint" expected true got false
PASS HTMLFrameElement interface object length
PASS HTMLFrameElement interface object name
PASS HTMLFrameElement interface: existence and properties of interface prototype object
-FAIL HTMLFrameElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLFrameElement.prototype.constructor is not writable expected true got false
+PASS HTMLFrameElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLFrameElement interface: attribute name assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLFrameElement interface: attribute scrolling assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLFrameElement interface: attribute src assert_equals: getter must be Function expected "function" but got "undefined"
PASS HTMLDirectoryElement interface object length
PASS HTMLDirectoryElement interface object name
PASS HTMLDirectoryElement interface: existence and properties of interface prototype object
-FAIL HTMLDirectoryElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLDirectoryElement.prototype.constructor is not writable expected true got false
+PASS HTMLDirectoryElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLDirectoryElement interface: attribute compact assert_equals: getter must be Function expected "function" but got "undefined"
PASS HTMLDirectoryElement must be primary interface of document.createElement("dir")
PASS Stringification of document.createElement("dir")
PASS HTMLFontElement interface object length
PASS HTMLFontElement interface object name
PASS HTMLFontElement interface: existence and properties of interface prototype object
-FAIL HTMLFontElement interface: existence and properties of interface prototype object's "constructor" property assert_true: HTMLFontElement.prototype.constructor is not writable expected true got false
+PASS HTMLFontElement interface: existence and properties of interface prototype object's "constructor" property
FAIL HTMLFontElement interface: attribute color assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLFontElement interface: attribute face assert_equals: getter must be Function expected "function" but got "undefined"
FAIL HTMLFontElement interface: attribute size assert_equals: getter must be Function expected "function" but got "undefined"
PASS x = URIError.prototype; delete x.constructor; x.hasOwnProperty('constructor') is false
PASS document.createTextNode('').__proto__.hasOwnProperty('constructor') is true
PASS canEnum(document.createTextNode('').__proto__, 'constructor') is false
-FAIL x = document.createTextNode('').__proto__; x.constructor = 4; x.constructor should be 4 (of type number). Was [object TextConstructor] (of type object).
+PASS x = document.createTextNode('').__proto__; x.constructor = 4; x.constructor is 4
PASS x = document.createTextNode('').__proto__; delete x.constructor; x.hasOwnProperty('constructor') is false
PASS successfullyParsed is true
2016-01-30 Chris Dumez <cdumez@apple.com>
+ [JS Bindings] prototype.constructor should be writable
+ https://bugs.webkit.org/show_bug.cgi?id=149412
+ <rdar://problem/22545096>
+
+ Reviewed by Darin Adler.
+
+ prototype.constructor should have the following properties:
+ { [[Writable]]: true, [[Enumerable]]: false, [[Configurable]]: true }
+
+ as per the Web IDL specification:
+ https://heycam.github.io/webidl/#interface-prototype-object
+
+ In WebKit, it is currently not writable. It is writable in Firefox.
+
+ This patch was first landed in r190085 but was rolled out for causing
+ crashes: <rdar://problem/22825602>. The issue was that even though we
+ marked constructor as writable, we failed to generate a setter for it.
+ This patch addresses the issue and the crash in <rdar://problem/22825602>
+ no longer occurs after this change. A regression test is also added for
+ this crash.
+
+ Tests:
+ fast/dom/HTMLDocument/constructor-setter-crash.html
+ fast/dom/prototype-constructor-setter.html
+
+ * bindings/scripts/CodeGeneratorJS.pm:
+ (GenerateAttributesHashTable):
+ (GenerateImplementation):
+ * bindings/scripts/IDLAttributes.txt:
+ * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
+ (WebCore::setJSTestActiveDOMObjectConstructor):
+ * bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp:
+ (WebCore::setJSTestClassWithJSBuiltinConstructorConstructor):
+ * bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp:
+ (WebCore::setJSTestCustomConstructorWithNoInterfaceObjectConstructor):
+ * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
+ (WebCore::setJSTestCustomNamedGetterConstructor):
+ * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
+ (WebCore::setJSTestEventConstructorConstructor):
+ * bindings/scripts/test/JS/JSTestEventTarget.cpp:
+ (WebCore::setJSTestEventTargetConstructor):
+ * bindings/scripts/test/JS/JSTestException.cpp:
+ (WebCore::setJSTestExceptionConstructor):
+ * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
+ (WebCore::setJSTestGenerateIsReachableConstructor):
+ * bindings/scripts/test/JS/JSTestInterface.cpp:
+ (WebCore::setJSTestInterfaceConstructor):
+ * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:
+ (WebCore::setJSTestJSBuiltinConstructorConstructor):
+ * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
+ (WebCore::setJSTestMediaQueryListListenerConstructor):
+ * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
+ (WebCore::setJSTestNamedConstructorConstructor):
+ * bindings/scripts/test/JS/JSTestNode.cpp:
+ (WebCore::setJSTestNodeConstructor):
+ * bindings/scripts/test/JS/JSTestNondeterministic.cpp:
+ (WebCore::setJSTestNondeterministicConstructor):
+ * bindings/scripts/test/JS/JSTestObj.cpp:
+ (WebCore::setJSTestObjConstructor):
+ * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
+ (WebCore::setJSTestOverloadedConstructorsConstructor):
+ * bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
+ (WebCore::setJSTestOverrideBuiltinsConstructor):
+ * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
+ (WebCore::setJSTestSerializedScriptValueInterfaceConstructor):
+ * bindings/scripts/test/JS/JSTestTypedefs.cpp:
+ (WebCore::setJSTestTypedefsConstructor):
+ * bindings/scripts/test/JS/JSattribute.cpp:
+ (WebCore::setJSattributeConstructor):
+ * bindings/scripts/test/JS/JSreadonly.cpp:
+ (WebCore::setJSreadonlyConstructor):
+ * page/DOMWindow.idl:
+
+2016-01-30 Chris Dumez <cdumez@apple.com>
+
Move more 'constructor' properties to the prototype
https://bugs.webkit.org/show_bug.cgi?id=153667
push(@$hashKeys, "constructor");
my $getter = "js" . $interfaceName . "Constructor";
push(@$hashValue1, $getter);
- if ($interface->extendedAttributes->{"ReplaceableConstructor"}) {
- my $setter = "setJS" . $interfaceName . "Constructor";
- push(@$hashValue2, $setter);
+
+ my $setter = "setJS" . $interfaceName . "Constructor";
+ push(@$hashValue2, $setter);
+
+ # FIXME: Do we really need to special-case DOMWindow?
+ if ($interfaceName eq "DOMWindow") {
push(@$hashSpecials, "DontEnum | DontDelete");
} else {
- push(@$hashValue2, "0");
- push(@$hashSpecials, "DontEnum | ReadOnly");
+ push(@$hashSpecials, "DontEnum");
}
}
}
push(@implContent, "JSC::EncodedJSValue ${getter}(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);\n");
}
- if ($interface->extendedAttributes->{"ReplaceableConstructor"}) {
- my $constructorFunctionName = "setJS" . $interfaceName . "Constructor";
- push(@implContent, "void ${constructorFunctionName}(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);\n");
- }
+ my $constructorFunctionName = "setJS" . $interfaceName . "Constructor";
+ push(@implContent, "void ${constructorFunctionName}(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);\n");
push(@implContent, "\n");
}
push(@implContent, "}\n\n");
}
- if ($interface->extendedAttributes->{"ReplaceableConstructor"}) {
- my $constructorFunctionName = "setJS" . $interfaceName . "Constructor";
+ my $constructorFunctionName = "setJS" . $interfaceName . "Constructor";
- push(@implContent, "void ${constructorFunctionName}(ExecState* state, JSObject*, EncodedJSValue thisValue, EncodedJSValue encodedValue)\n");
- push(@implContent, "{\n");
- push(@implContent, " JSValue value = JSValue::decode(encodedValue);");
- if ($interface->extendedAttributes->{"CustomProxyToJSObject"}) {
- push(@implContent, " ${className}* castedThis = to${className}(JSValue::decode(thisValue));\n");
+ push(@implContent, "void ${constructorFunctionName}(ExecState* state, JSObject* baseValue, EncodedJSValue thisValue, EncodedJSValue encodedValue)\n");
+ push(@implContent, "{\n");
+ push(@implContent, " JSValue value = JSValue::decode(encodedValue);\n");
+ if ($interface->extendedAttributes->{"CustomProxyToJSObject"}) {
+ push(@implContent, " UNUSED_PARAM(baseValue);\n");
+ push(@implContent, " ${className}* domObject = to${className}(JSValue::decode(thisValue));\n");
+ } elsif (ConstructorShouldBeOnInstance($interface)) {
+ push(@implContent, " UNUSED_PARAM(baseValue);\n");
+ push(@implContent, " ${className}* domObject = " . GetCastingHelperForThisObject($interface) . "(JSValue::decode(thisValue));\n");
+ } else {
+ push(@implContent, " UNUSED_PARAM(thisValue);\n");
+ push(@implContent, " ${className}Prototype* domObject = jsDynamicCast<${className}Prototype*>(baseValue);\n");
+ }
+ push(@implContent, " if (UNLIKELY(!domObject)) {\n");
+ push(@implContent, " throwVMTypeError(state);\n");
+ push(@implContent, " return;\n");
+ push(@implContent, " }\n");
+ if ($interface->extendedAttributes->{"CheckSecurity"}) {
+ if ($interfaceName eq "DOMWindow") {
+ push(@implContent, " if (!BindingSecurity::shouldAllowAccessToDOMWindow(state, domObject->wrapped()))\n");
} else {
- push(@implContent, " ${className}* castedThis = " . GetCastingHelperForThisObject($interface) . "(JSValue::decode(thisValue));\n");
+ push(@implContent, " if (!shouldAllowAccessToFrame(state, domObject->wrapped().frame()))\n");
}
- push(@implContent, " if (UNLIKELY(!castedThis)) {\n");
- push(@implContent, " throwVMTypeError(state);\n");
push(@implContent, " return;\n");
- push(@implContent, " }\n");
- if ($interface->extendedAttributes->{"CheckSecurity"}) {
- if ($interfaceName eq "DOMWindow") {
- push(@implContent, " if (!BindingSecurity::shouldAllowAccessToDOMWindow(state, castedThis->wrapped()))\n");
- } else {
- push(@implContent, " if (!shouldAllowAccessToFrame(state, castedThis->wrapped().frame()))\n");
- }
- push(@implContent, " return;\n");
- }
+ }
- push(@implContent, " // Shadowing a built-in constructor\n");
+ push(@implContent, " // Shadowing a built-in constructor\n");
- if ($interfaceName eq "DOMWindow") {
- push(@implContent, " castedThis->putDirect(state->vm(), state->propertyNames().constructor, value);\n");
- } else {
- die "No way to handle interface with ReplaceableConstructor extended attribute: $interfaceName";
- }
- push(@implContent, "}\n\n");
- }
+ push(@implContent, " domObject->putDirect(state->vm(), state->propertyNames().constructor, value);\n");
+ push(@implContent, "}\n\n");
}
my $hasCustomSetter = $interface->extendedAttributes->{"CustomNamedSetter"}
|| $interface->extendedAttributes->{"CustomIndexedSetter"};
RaisesExceptionWithMessage
Reflect=*
Replaceable
-ReplaceableConstructor
ReportExtraMemoryCost
RequiresExistingAtomicString
SetterRaisesException
JSC::EncodedJSValue jsTestActiveDOMObjectExcitingAttr(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
JSC::EncodedJSValue jsTestActiveDOMObjectConstructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
+void setJSTestActiveDOMObjectConstructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
class JSTestActiveDOMObjectPrototype : public JSC::JSNonFinalObject {
public:
static const HashTableValue JSTestActiveDOMObjectTableValues[] =
{
- { "constructor", DontEnum | ReadOnly, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestActiveDOMObjectConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
+ { "constructor", DontEnum, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestActiveDOMObjectConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSTestActiveDOMObjectConstructor) } },
{ "excitingAttr", DontDelete | ReadOnly | CustomAccessor, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestActiveDOMObjectExcitingAttr), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
};
return JSValue::encode(JSTestActiveDOMObject::getConstructor(state->vm(), domObject->globalObject()));
}
+void setJSTestActiveDOMObjectConstructor(ExecState* state, JSObject* baseValue, EncodedJSValue thisValue, EncodedJSValue encodedValue)
+{
+ JSValue value = JSValue::decode(encodedValue);
+ UNUSED_PARAM(baseValue);
+ JSTestActiveDOMObject* domObject = jsDynamicCast<JSTestActiveDOMObject*>(JSValue::decode(thisValue));
+ if (UNLIKELY(!domObject)) {
+ throwVMTypeError(state);
+ return;
+ }
+ if (!shouldAllowAccessToFrame(state, domObject->wrapped().frame()))
+ return;
+ // Shadowing a built-in constructor
+ domObject->putDirect(state->vm(), state->propertyNames().constructor, value);
+}
+
JSValue JSTestActiveDOMObject::getConstructor(VM& vm, JSGlobalObject* globalObject)
{
return getDOMConstructor<JSTestActiveDOMObjectConstructor>(vm, *jsCast<JSDOMGlobalObject*>(globalObject));
// Attributes
JSC::EncodedJSValue jsTestClassWithJSBuiltinConstructorConstructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
+void setJSTestClassWithJSBuiltinConstructorConstructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
class JSTestClassWithJSBuiltinConstructorPrototype : public JSC::JSNonFinalObject {
public:
static const HashTableValue JSTestClassWithJSBuiltinConstructorPrototypeTableValues[] =
{
- { "constructor", DontEnum | ReadOnly, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestClassWithJSBuiltinConstructorConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
+ { "constructor", DontEnum, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestClassWithJSBuiltinConstructorConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSTestClassWithJSBuiltinConstructorConstructor) } },
};
const ClassInfo JSTestClassWithJSBuiltinConstructorPrototype::s_info = { "TestClassWithJSBuiltinConstructorPrototype", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestClassWithJSBuiltinConstructorPrototype) };
return JSValue::encode(JSTestClassWithJSBuiltinConstructor::getConstructor(state->vm(), domObject->globalObject()));
}
+void setJSTestClassWithJSBuiltinConstructorConstructor(ExecState* state, JSObject* baseValue, EncodedJSValue thisValue, EncodedJSValue encodedValue)
+{
+ JSValue value = JSValue::decode(encodedValue);
+ UNUSED_PARAM(thisValue);
+ JSTestClassWithJSBuiltinConstructorPrototype* domObject = jsDynamicCast<JSTestClassWithJSBuiltinConstructorPrototype*>(baseValue);
+ if (UNLIKELY(!domObject)) {
+ throwVMTypeError(state);
+ return;
+ }
+ // Shadowing a built-in constructor
+ domObject->putDirect(state->vm(), state->propertyNames().constructor, value);
+}
+
JSValue JSTestClassWithJSBuiltinConstructor::getConstructor(VM& vm, JSGlobalObject* globalObject)
{
return getDOMConstructor<JSTestClassWithJSBuiltinConstructorConstructor>(vm, *jsCast<JSDOMGlobalObject*>(globalObject));
// Attributes
JSC::EncodedJSValue jsTestCustomConstructorWithNoInterfaceObjectConstructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
+void setJSTestCustomConstructorWithNoInterfaceObjectConstructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
class JSTestCustomConstructorWithNoInterfaceObjectPrototype : public JSC::JSNonFinalObject {
public:
static const HashTableValue JSTestCustomConstructorWithNoInterfaceObjectPrototypeTableValues[] =
{
- { "constructor", DontEnum | ReadOnly, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestCustomConstructorWithNoInterfaceObjectConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
+ { "constructor", DontEnum, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestCustomConstructorWithNoInterfaceObjectConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSTestCustomConstructorWithNoInterfaceObjectConstructor) } },
};
const ClassInfo JSTestCustomConstructorWithNoInterfaceObjectPrototype::s_info = { "TestCustomConstructorWithNoInterfaceObjectPrototype", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestCustomConstructorWithNoInterfaceObjectPrototype) };
return JSValue::encode(constructor);
}
+void setJSTestCustomConstructorWithNoInterfaceObjectConstructor(ExecState* state, JSObject* baseValue, EncodedJSValue thisValue, EncodedJSValue encodedValue)
+{
+ JSValue value = JSValue::decode(encodedValue);
+ UNUSED_PARAM(thisValue);
+ JSTestCustomConstructorWithNoInterfaceObjectPrototype* domObject = jsDynamicCast<JSTestCustomConstructorWithNoInterfaceObjectPrototype*>(baseValue);
+ if (UNLIKELY(!domObject)) {
+ throwVMTypeError(state);
+ return;
+ }
+ // Shadowing a built-in constructor
+ domObject->putDirect(state->vm(), state->propertyNames().constructor, value);
+}
+
bool JSTestCustomConstructorWithNoInterfaceObjectOwner::isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown> handle, void*, SlotVisitor& visitor)
{
UNUSED_PARAM(handle);
// Attributes
JSC::EncodedJSValue jsTestCustomNamedGetterConstructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
+void setJSTestCustomNamedGetterConstructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
class JSTestCustomNamedGetterPrototype : public JSC::JSNonFinalObject {
public:
static const HashTableValue JSTestCustomNamedGetterTableValues[] =
{
- { "constructor", DontEnum | ReadOnly, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestCustomNamedGetterConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
+ { "constructor", DontEnum, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestCustomNamedGetterConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSTestCustomNamedGetterConstructor) } },
};
static const HashTable JSTestCustomNamedGetterTable = { 1, 1, true, JSTestCustomNamedGetterTableValues, JSTestCustomNamedGetterTableIndex };
return JSValue::encode(JSTestCustomNamedGetter::getConstructor(state->vm(), domObject->globalObject()));
}
+void setJSTestCustomNamedGetterConstructor(ExecState* state, JSObject* baseValue, EncodedJSValue thisValue, EncodedJSValue encodedValue)
+{
+ JSValue value = JSValue::decode(encodedValue);
+ UNUSED_PARAM(baseValue);
+ JSTestCustomNamedGetter* domObject = jsDynamicCast<JSTestCustomNamedGetter*>(JSValue::decode(thisValue));
+ if (UNLIKELY(!domObject)) {
+ throwVMTypeError(state);
+ return;
+ }
+ // Shadowing a built-in constructor
+ domObject->putDirect(state->vm(), state->propertyNames().constructor, value);
+}
+
JSValue JSTestCustomNamedGetter::getConstructor(VM& vm, JSGlobalObject* globalObject)
{
return getDOMConstructor<JSTestCustomNamedGetterConstructor>(vm, *jsCast<JSDOMGlobalObject*>(globalObject));
JSC::EncodedJSValue jsTestEventConstructorAttr1(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
JSC::EncodedJSValue jsTestEventConstructorAttr2(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
JSC::EncodedJSValue jsTestEventConstructorConstructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
+void setJSTestEventConstructorConstructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
class JSTestEventConstructorPrototype : public JSC::JSNonFinalObject {
public:
static const HashTableValue JSTestEventConstructorPrototypeTableValues[] =
{
- { "constructor", DontEnum | ReadOnly, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestEventConstructorConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
+ { "constructor", DontEnum, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestEventConstructorConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSTestEventConstructorConstructor) } },
{ "attr1", ReadOnly | CustomAccessor, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestEventConstructorAttr1), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
{ "attr2", ReadOnly | CustomAccessor, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestEventConstructorAttr2), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
};
return JSValue::encode(JSTestEventConstructor::getConstructor(state->vm(), domObject->globalObject()));
}
+void setJSTestEventConstructorConstructor(ExecState* state, JSObject* baseValue, EncodedJSValue thisValue, EncodedJSValue encodedValue)
+{
+ JSValue value = JSValue::decode(encodedValue);
+ UNUSED_PARAM(thisValue);
+ JSTestEventConstructorPrototype* domObject = jsDynamicCast<JSTestEventConstructorPrototype*>(baseValue);
+ if (UNLIKELY(!domObject)) {
+ throwVMTypeError(state);
+ return;
+ }
+ // Shadowing a built-in constructor
+ domObject->putDirect(state->vm(), state->propertyNames().constructor, value);
+}
+
JSValue JSTestEventConstructor::getConstructor(VM& vm, JSGlobalObject* globalObject)
{
return getDOMConstructor<JSTestEventConstructorConstructor>(vm, *jsCast<JSDOMGlobalObject*>(globalObject));
// Attributes
JSC::EncodedJSValue jsTestEventTargetConstructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
+void setJSTestEventTargetConstructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
class JSTestEventTargetPrototype : public JSC::JSNonFinalObject {
public:
static const HashTableValue JSTestEventTargetTableValues[] =
{
- { "constructor", DontEnum | ReadOnly, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestEventTargetConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
+ { "constructor", DontEnum, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestEventTargetConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSTestEventTargetConstructor) } },
};
static const HashTable JSTestEventTargetTable = { 1, 1, true, JSTestEventTargetTableValues, JSTestEventTargetTableIndex };
return JSValue::encode(JSTestEventTarget::getConstructor(state->vm(), domObject->globalObject()));
}
+void setJSTestEventTargetConstructor(ExecState* state, JSObject* baseValue, EncodedJSValue thisValue, EncodedJSValue encodedValue)
+{
+ JSValue value = JSValue::decode(encodedValue);
+ UNUSED_PARAM(baseValue);
+ JSTestEventTarget* domObject = jsDynamicCast<JSTestEventTarget*>(JSValue::decode(thisValue));
+ if (UNLIKELY(!domObject)) {
+ throwVMTypeError(state);
+ return;
+ }
+ // Shadowing a built-in constructor
+ domObject->putDirect(state->vm(), state->propertyNames().constructor, value);
+}
+
void JSTestEventTarget::getOwnPropertyNames(JSObject* object, ExecState* state, PropertyNameArray& propertyNames, EnumerationMode mode)
{
auto* thisObject = jsCast<JSTestEventTarget*>(object);
JSC::EncodedJSValue jsTestExceptionName(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
JSC::EncodedJSValue jsTestExceptionConstructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
+void setJSTestExceptionConstructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
class JSTestExceptionPrototype : public JSC::JSNonFinalObject {
public:
static const HashTableValue JSTestExceptionPrototypeTableValues[] =
{
- { "constructor", DontEnum | ReadOnly, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestExceptionConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
+ { "constructor", DontEnum, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestExceptionConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSTestExceptionConstructor) } },
};
const ClassInfo JSTestExceptionPrototype::s_info = { "TestExceptionPrototype", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestExceptionPrototype) };
return JSValue::encode(JSTestException::getConstructor(state->vm(), domObject->globalObject()));
}
+void setJSTestExceptionConstructor(ExecState* state, JSObject* baseValue, EncodedJSValue thisValue, EncodedJSValue encodedValue)
+{
+ JSValue value = JSValue::decode(encodedValue);
+ UNUSED_PARAM(thisValue);
+ JSTestExceptionPrototype* domObject = jsDynamicCast<JSTestExceptionPrototype*>(baseValue);
+ if (UNLIKELY(!domObject)) {
+ throwVMTypeError(state);
+ return;
+ }
+ // Shadowing a built-in constructor
+ domObject->putDirect(state->vm(), state->propertyNames().constructor, value);
+}
+
JSValue JSTestException::getConstructor(VM& vm, JSGlobalObject* globalObject)
{
return getDOMConstructor<JSTestExceptionConstructor>(vm, *jsCast<JSDOMGlobalObject*>(globalObject));
// Attributes
JSC::EncodedJSValue jsTestGenerateIsReachableConstructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
+void setJSTestGenerateIsReachableConstructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
class JSTestGenerateIsReachablePrototype : public JSC::JSNonFinalObject {
public:
static const HashTableValue JSTestGenerateIsReachablePrototypeTableValues[] =
{
- { "constructor", DontEnum | ReadOnly, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestGenerateIsReachableConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
+ { "constructor", DontEnum, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestGenerateIsReachableConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSTestGenerateIsReachableConstructor) } },
};
const ClassInfo JSTestGenerateIsReachablePrototype::s_info = { "TestGenerateIsReachablePrototype", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestGenerateIsReachablePrototype) };
return JSValue::encode(JSTestGenerateIsReachable::getConstructor(state->vm(), domObject->globalObject()));
}
+void setJSTestGenerateIsReachableConstructor(ExecState* state, JSObject* baseValue, EncodedJSValue thisValue, EncodedJSValue encodedValue)
+{
+ JSValue value = JSValue::decode(encodedValue);
+ UNUSED_PARAM(thisValue);
+ JSTestGenerateIsReachablePrototype* domObject = jsDynamicCast<JSTestGenerateIsReachablePrototype*>(baseValue);
+ if (UNLIKELY(!domObject)) {
+ throwVMTypeError(state);
+ return;
+ }
+ // Shadowing a built-in constructor
+ domObject->putDirect(state->vm(), state->propertyNames().constructor, value);
+}
+
JSValue JSTestGenerateIsReachable::getConstructor(VM& vm, JSGlobalObject* globalObject)
{
return getDOMConstructor<JSTestGenerateIsReachableConstructor>(vm, *jsCast<JSDOMGlobalObject*>(globalObject));
void setJSTestInterfaceSupplementalNode(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
#endif
JSC::EncodedJSValue jsTestInterfaceConstructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
+void setJSTestInterfaceConstructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
class JSTestInterfacePrototype : public JSC::JSNonFinalObject {
public:
static const HashTableValue JSTestInterfacePrototypeTableValues[] =
{
- { "constructor", DontEnum | ReadOnly, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestInterfaceConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
+ { "constructor", DontEnum, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestInterfaceConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSTestInterfaceConstructor) } },
#if ENABLE(Condition22) || ENABLE(Condition23)
{ "implementsStr1", ReadOnly | CustomAccessor, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestInterfaceImplementsStr1), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
#else
return JSValue::encode(JSTestInterface::getConstructor(state->vm(), domObject->globalObject()));
}
+void setJSTestInterfaceConstructor(ExecState* state, JSObject* baseValue, EncodedJSValue thisValue, EncodedJSValue encodedValue)
+{
+ JSValue value = JSValue::decode(encodedValue);
+ UNUSED_PARAM(thisValue);
+ JSTestInterfacePrototype* domObject = jsDynamicCast<JSTestInterfacePrototype*>(baseValue);
+ if (UNLIKELY(!domObject)) {
+ throwVMTypeError(state);
+ return;
+ }
+ // Shadowing a built-in constructor
+ domObject->putDirect(state->vm(), state->propertyNames().constructor, value);
+}
+
void JSTestInterface::put(JSCell* cell, ExecState* state, PropertyName propertyName, JSValue value, PutPropertySlot& slot)
{
auto* thisObject = jsCast<JSTestInterface*>(cell);
JSC::EncodedJSValue jsTestJSBuiltinConstructorTestAttributeRWCustom(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
void setJSTestJSBuiltinConstructorTestAttributeRWCustom(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
JSC::EncodedJSValue jsTestJSBuiltinConstructorConstructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
+void setJSTestJSBuiltinConstructorConstructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
class JSTestJSBuiltinConstructorPrototype : public JSC::JSNonFinalObject {
public:
static const HashTableValue JSTestJSBuiltinConstructorPrototypeTableValues[] =
{
- { "constructor", DontEnum | ReadOnly, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestJSBuiltinConstructorConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
+ { "constructor", DontEnum, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestJSBuiltinConstructorConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSTestJSBuiltinConstructorConstructor) } },
{ "testAttribute", Accessor | Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(testJSBuiltinConstructorTestAttributeCodeGenerator), (intptr_t) (setTestJSBuiltinConstructorTestAttributeCodeGenerator) } },
{ "testFunction", JSC::Builtin, NoIntrinsic, { (intptr_t)static_cast<BuiltinGenerator>(testJSBuiltinConstructorTestFunctionCodeGenerator), (intptr_t) (0) } },
{ "testCustomFunction", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestJSBuiltinConstructorPrototypeFunctionTestCustomFunction), (intptr_t) (0) } },
return JSValue::encode(JSTestJSBuiltinConstructor::getConstructor(state->vm(), domObject->globalObject()));
}
+void setJSTestJSBuiltinConstructorConstructor(ExecState* state, JSObject* baseValue, EncodedJSValue thisValue, EncodedJSValue encodedValue)
+{
+ JSValue value = JSValue::decode(encodedValue);
+ UNUSED_PARAM(thisValue);
+ JSTestJSBuiltinConstructorPrototype* domObject = jsDynamicCast<JSTestJSBuiltinConstructorPrototype*>(baseValue);
+ if (UNLIKELY(!domObject)) {
+ throwVMTypeError(state);
+ return;
+ }
+ // Shadowing a built-in constructor
+ domObject->putDirect(state->vm(), state->propertyNames().constructor, value);
+}
+
void setJSTestJSBuiltinConstructorTestAttributeRWCustom(ExecState* state, JSObject* baseObject, EncodedJSValue thisValue, EncodedJSValue encodedValue)
{
JSValue value = JSValue::decode(encodedValue);
// Attributes
JSC::EncodedJSValue jsTestMediaQueryListListenerConstructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
+void setJSTestMediaQueryListListenerConstructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
class JSTestMediaQueryListListenerPrototype : public JSC::JSNonFinalObject {
public:
static const HashTableValue JSTestMediaQueryListListenerPrototypeTableValues[] =
{
- { "constructor", DontEnum | ReadOnly, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestMediaQueryListListenerConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
+ { "constructor", DontEnum, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestMediaQueryListListenerConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSTestMediaQueryListListenerConstructor) } },
{ "method", JSC::Function, NoIntrinsic, { (intptr_t)static_cast<NativeFunction>(jsTestMediaQueryListListenerPrototypeFunctionMethod), (intptr_t) (1) } },
};
return JSValue::encode(JSTestMediaQueryListListener::getConstructor(state->vm(), domObject->globalObject()));
}
+void setJSTestMediaQueryListListenerConstructor(ExecState* state, JSObject* baseValue, EncodedJSValue thisValue, EncodedJSValue encodedValue)
+{
+ JSValue value = JSValue::decode(encodedValue);
+ UNUSED_PARAM(thisValue);
+ JSTestMediaQueryListListenerPrototype* domObject = jsDynamicCast<JSTestMediaQueryListListenerPrototype*>(baseValue);
+ if (UNLIKELY(!domObject)) {
+ throwVMTypeError(state);
+ return;
+ }
+ // Shadowing a built-in constructor
+ domObject->putDirect(state->vm(), state->propertyNames().constructor, value);
+}
+
JSValue JSTestMediaQueryListListener::getConstructor(VM& vm, JSGlobalObject* globalObject)
{
return getDOMConstructor<JSTestMediaQueryListListenerConstructor>(vm, *jsCast<JSDOMGlobalObject*>(globalObject));
// Attributes
JSC::EncodedJSValue jsTestNamedConstructorConstructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
+void setJSTestNamedConstructorConstructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
class JSTestNamedConstructorPrototype : public JSC::JSNonFinalObject {
public:
static const HashTableValue JSTestNamedConstructorPrototypeTableValues[] =
{
- { "constructor", DontEnum | ReadOnly, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestNamedConstructorConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
+ { "constructor", DontEnum, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestNamedConstructorConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSTestNamedConstructorConstructor) } },
};
const ClassInfo JSTestNamedConstructorPrototype::s_info = { "TestNamedConstructorPrototype", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestNamedConstructorPrototype) };
return JSValue::encode(JSTestNamedConstructor::getConstructor(state->vm(), domObject->globalObject()));
}
+void setJSTestNamedConstructorConstructor(ExecState* state, JSObject* baseValue, EncodedJSValue thisValue, EncodedJSValue encodedValue)
+{
+ JSValue value = JSValue::decode(encodedValue);
+ UNUSED_PARAM(thisValue);
+ JSTestNamedConstructorPrototype* domObject = jsDynamicCast<JSTestNamedConstructorPrototype*>(baseValue);
+ if (UNLIKELY(!domObject)) {
+ throwVMTypeError(state);
+ return;
+ }
+ // Shadowing a built-in constructor
+ domObject->putDirect(state->vm(), state->propertyNames().constructor, value);
+}
+
JSValue JSTestNamedConstructor::getConstructor(VM& vm, JSGlobalObject* globalObject)
{
return getDOMConstructor<JSTestNamedConstructorConstructor>(vm, *jsCast<JSDOMGlobalObject*>(globalObject));
JSC::EncodedJSValue jsTestNodeName(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
void setJSTestNodeName(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
JSC::EncodedJSValue jsTestNodeConstructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
+void setJSTestNodeConstructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
class JSTestNodePrototype : public JSC::JSNonFinalObject {
public:
static const HashTableValue JSTestNodePrototypeTableValues[] =
{
- { "constructor", DontEnum | ReadOnly, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestNodeConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
+ { "constructor", DontEnum, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestNodeConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSTestNodeConstructor) } },
{ "name", CustomAccessor, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestNodeName), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSTestNodeName) } },
};
return JSValue::encode(JSTestNode::getConstructor(state->vm(), domObject->globalObject()));
}
+void setJSTestNodeConstructor(ExecState* state, JSObject* baseValue, EncodedJSValue thisValue, EncodedJSValue encodedValue)
+{
+ JSValue value = JSValue::decode(encodedValue);
+ UNUSED_PARAM(thisValue);
+ JSTestNodePrototype* domObject = jsDynamicCast<JSTestNodePrototype*>(baseValue);
+ if (UNLIKELY(!domObject)) {
+ throwVMTypeError(state);
+ return;
+ }
+ // Shadowing a built-in constructor
+ domObject->putDirect(state->vm(), state->propertyNames().constructor, value);
+}
+
void setJSTestNodeName(ExecState* state, JSObject* baseObject, EncodedJSValue thisValue, EncodedJSValue encodedValue)
{
JSValue value = JSValue::decode(encodedValue);
JSC::EncodedJSValue jsTestNondeterministicNondeterministicSetterExceptionAttr(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
void setJSTestNondeterministicNondeterministicSetterExceptionAttr(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
JSC::EncodedJSValue jsTestNondeterministicConstructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
+void setJSTestNondeterministicConstructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
class JSTestNondeterministicPrototype : public JSC::JSNonFinalObject {
public:
static const HashTableValue JSTestNondeterministicPrototypeTableValues[] =
{
- { "constructor", DontEnum | ReadOnly, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestNondeterministicConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
+ { "constructor", DontEnum, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestNondeterministicConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSTestNondeterministicConstructor) } },
{ "nondeterministicReadonlyAttr", ReadOnly | CustomAccessor, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestNondeterministicNondeterministicReadonlyAttr), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
{ "nondeterministicWriteableAttr", CustomAccessor, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestNondeterministicNondeterministicWriteableAttr), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSTestNondeterministicNondeterministicWriteableAttr) } },
{ "nondeterministicExceptionAttr", CustomAccessor, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestNondeterministicNondeterministicExceptionAttr), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSTestNondeterministicNondeterministicExceptionAttr) } },
return JSValue::encode(JSTestNondeterministic::getConstructor(state->vm(), domObject->globalObject()));
}
+void setJSTestNondeterministicConstructor(ExecState* state, JSObject* baseValue, EncodedJSValue thisValue, EncodedJSValue encodedValue)
+{
+ JSValue value = JSValue::decode(encodedValue);
+ UNUSED_PARAM(thisValue);
+ JSTestNondeterministicPrototype* domObject = jsDynamicCast<JSTestNondeterministicPrototype*>(baseValue);
+ if (UNLIKELY(!domObject)) {
+ throwVMTypeError(state);
+ return;
+ }
+ // Shadowing a built-in constructor
+ domObject->putDirect(state->vm(), state->propertyNames().constructor, value);
+}
+
void setJSTestNondeterministicNondeterministicWriteableAttr(ExecState* state, JSObject* baseObject, EncodedJSValue thisValue, EncodedJSValue encodedValue)
{
JSValue value = JSValue::decode(encodedValue);
JSC::EncodedJSValue jsTestObjPutForwardsNullableAttribute(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
void setJSTestObjPutForwardsNullableAttribute(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
JSC::EncodedJSValue jsTestObjConstructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
+void setJSTestObjConstructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
class JSTestObjPrototype : public JSC::JSNonFinalObject {
public:
static const HashTableValue JSTestObjPrototypeTableValues[] =
{
- { "constructor", DontEnum | ReadOnly, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestObjConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
+ { "constructor", DontEnum, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestObjConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSTestObjConstructor) } },
{ "readOnlyLongAttr", ReadOnly | CustomAccessor, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestObjReadOnlyLongAttr), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
{ "readOnlyStringAttr", ReadOnly | CustomAccessor, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestObjReadOnlyStringAttr), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
{ "readOnlyTestObjAttr", ReadOnly | CustomAccessor, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestObjReadOnlyTestObjAttr), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
return JSValue::encode(JSTestObj::getConstructor(state->vm(), domObject->globalObject()));
}
+void setJSTestObjConstructor(ExecState* state, JSObject* baseValue, EncodedJSValue thisValue, EncodedJSValue encodedValue)
+{
+ JSValue value = JSValue::decode(encodedValue);
+ UNUSED_PARAM(thisValue);
+ JSTestObjPrototype* domObject = jsDynamicCast<JSTestObjPrototype*>(baseValue);
+ if (UNLIKELY(!domObject)) {
+ throwVMTypeError(state);
+ return;
+ }
+ // Shadowing a built-in constructor
+ domObject->putDirect(state->vm(), state->propertyNames().constructor, value);
+}
+
void setJSTestObjConstructorStaticStringAttr(ExecState* state, JSObject* baseObject, EncodedJSValue, EncodedJSValue encodedValue)
{
JSValue value = JSValue::decode(encodedValue);
// Attributes
JSC::EncodedJSValue jsTestOverloadedConstructorsConstructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
+void setJSTestOverloadedConstructorsConstructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
class JSTestOverloadedConstructorsPrototype : public JSC::JSNonFinalObject {
public:
static const HashTableValue JSTestOverloadedConstructorsPrototypeTableValues[] =
{
- { "constructor", DontEnum | ReadOnly, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestOverloadedConstructorsConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
+ { "constructor", DontEnum, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestOverloadedConstructorsConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSTestOverloadedConstructorsConstructor) } },
};
const ClassInfo JSTestOverloadedConstructorsPrototype::s_info = { "TestOverloadedConstructorsPrototype", &Base::s_info, 0, CREATE_METHOD_TABLE(JSTestOverloadedConstructorsPrototype) };
return JSValue::encode(JSTestOverloadedConstructors::getConstructor(state->vm(), domObject->globalObject()));
}
+void setJSTestOverloadedConstructorsConstructor(ExecState* state, JSObject* baseValue, EncodedJSValue thisValue, EncodedJSValue encodedValue)
+{
+ JSValue value = JSValue::decode(encodedValue);
+ UNUSED_PARAM(thisValue);
+ JSTestOverloadedConstructorsPrototype* domObject = jsDynamicCast<JSTestOverloadedConstructorsPrototype*>(baseValue);
+ if (UNLIKELY(!domObject)) {
+ throwVMTypeError(state);
+ return;
+ }
+ // Shadowing a built-in constructor
+ domObject->putDirect(state->vm(), state->propertyNames().constructor, value);
+}
+
JSValue JSTestOverloadedConstructors::getConstructor(VM& vm, JSGlobalObject* globalObject)
{
return getDOMConstructor<JSTestOverloadedConstructorsConstructor>(vm, *jsCast<JSDOMGlobalObject*>(globalObject));
// Attributes
JSC::EncodedJSValue jsTestOverrideBuiltinsConstructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
+void setJSTestOverrideBuiltinsConstructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
class JSTestOverrideBuiltinsPrototype : public JSC::JSNonFinalObject {
public:
static const HashTableValue JSTestOverrideBuiltinsTableValues[] =
{
- { "constructor", DontEnum | ReadOnly, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestOverrideBuiltinsConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
+ { "constructor", DontEnum, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestOverrideBuiltinsConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSTestOverrideBuiltinsConstructor) } },
};
static const HashTable JSTestOverrideBuiltinsTable = { 1, 1, true, JSTestOverrideBuiltinsTableValues, JSTestOverrideBuiltinsTableIndex };
return JSValue::encode(JSTestOverrideBuiltins::getConstructor(state->vm(), domObject->globalObject()));
}
+void setJSTestOverrideBuiltinsConstructor(ExecState* state, JSObject* baseValue, EncodedJSValue thisValue, EncodedJSValue encodedValue)
+{
+ JSValue value = JSValue::decode(encodedValue);
+ UNUSED_PARAM(baseValue);
+ JSTestOverrideBuiltins* domObject = jsDynamicCast<JSTestOverrideBuiltins*>(JSValue::decode(thisValue));
+ if (UNLIKELY(!domObject)) {
+ throwVMTypeError(state);
+ return;
+ }
+ // Shadowing a built-in constructor
+ domObject->putDirect(state->vm(), state->propertyNames().constructor, value);
+}
+
void JSTestOverrideBuiltins::getOwnPropertyNames(JSObject* object, ExecState* state, PropertyNameArray& propertyNames, EnumerationMode mode)
{
auto* thisObject = jsCast<JSTestOverrideBuiltins*>(object);
JSC::EncodedJSValue jsTestSerializedScriptValueInterfacePorts(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
JSC::EncodedJSValue jsTestSerializedScriptValueInterfaceCachedReadonlyValue(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
JSC::EncodedJSValue jsTestSerializedScriptValueInterfaceConstructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
+void setJSTestSerializedScriptValueInterfaceConstructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
class JSTestSerializedScriptValueInterfacePrototype : public JSC::JSNonFinalObject {
public:
static const HashTableValue JSTestSerializedScriptValueInterfacePrototypeTableValues[] =
{
- { "constructor", DontEnum | ReadOnly, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestSerializedScriptValueInterfaceConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
+ { "constructor", DontEnum, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestSerializedScriptValueInterfaceConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSTestSerializedScriptValueInterfaceConstructor) } },
{ "value", CustomAccessor, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestSerializedScriptValueInterfaceValue), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSTestSerializedScriptValueInterfaceValue) } },
{ "readonlyValue", ReadOnly | CustomAccessor, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestSerializedScriptValueInterfaceReadonlyValue), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
{ "cachedValue", CustomAccessor, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestSerializedScriptValueInterfaceCachedValue), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSTestSerializedScriptValueInterfaceCachedValue) } },
return JSValue::encode(JSTestSerializedScriptValueInterface::getConstructor(state->vm(), domObject->globalObject()));
}
+void setJSTestSerializedScriptValueInterfaceConstructor(ExecState* state, JSObject* baseValue, EncodedJSValue thisValue, EncodedJSValue encodedValue)
+{
+ JSValue value = JSValue::decode(encodedValue);
+ UNUSED_PARAM(thisValue);
+ JSTestSerializedScriptValueInterfacePrototype* domObject = jsDynamicCast<JSTestSerializedScriptValueInterfacePrototype*>(baseValue);
+ if (UNLIKELY(!domObject)) {
+ throwVMTypeError(state);
+ return;
+ }
+ // Shadowing a built-in constructor
+ domObject->putDirect(state->vm(), state->propertyNames().constructor, value);
+}
+
void setJSTestSerializedScriptValueInterfaceValue(ExecState* state, JSObject* baseObject, EncodedJSValue thisValue, EncodedJSValue encodedValue)
{
JSValue value = JSValue::decode(encodedValue);
JSC::EncodedJSValue jsTestTypedefsStringAttrWithSetterException(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
void setJSTestTypedefsStringAttrWithSetterException(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
JSC::EncodedJSValue jsTestTypedefsConstructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
+void setJSTestTypedefsConstructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
class JSTestTypedefsPrototype : public JSC::JSNonFinalObject {
public:
static const HashTableValue JSTestTypedefsPrototypeTableValues[] =
{
- { "constructor", DontEnum | ReadOnly, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestTypedefsConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
+ { "constructor", DontEnum, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestTypedefsConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSTestTypedefsConstructor) } },
{ "unsignedLongLongAttr", CustomAccessor, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestTypedefsUnsignedLongLongAttr), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSTestTypedefsUnsignedLongLongAttr) } },
{ "immutableSerializedScriptValue", CustomAccessor, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestTypedefsImmutableSerializedScriptValue), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSTestTypedefsImmutableSerializedScriptValue) } },
{ "attrWithGetterException", CustomAccessor, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsTestTypedefsAttrWithGetterException), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSTestTypedefsAttrWithGetterException) } },
return JSValue::encode(JSTestTypedefs::getConstructor(state->vm(), domObject->globalObject()));
}
+void setJSTestTypedefsConstructor(ExecState* state, JSObject* baseValue, EncodedJSValue thisValue, EncodedJSValue encodedValue)
+{
+ JSValue value = JSValue::decode(encodedValue);
+ UNUSED_PARAM(thisValue);
+ JSTestTypedefsPrototype* domObject = jsDynamicCast<JSTestTypedefsPrototype*>(baseValue);
+ if (UNLIKELY(!domObject)) {
+ throwVMTypeError(state);
+ return;
+ }
+ // Shadowing a built-in constructor
+ domObject->putDirect(state->vm(), state->propertyNames().constructor, value);
+}
+
void setJSTestTypedefsUnsignedLongLongAttr(ExecState* state, JSObject* baseObject, EncodedJSValue thisValue, EncodedJSValue encodedValue)
{
JSValue value = JSValue::decode(encodedValue);
JSC::EncodedJSValue jsattributeReadonly(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
JSC::EncodedJSValue jsattributeConstructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
+void setJSattributeConstructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
class JSattributePrototype : public JSC::JSNonFinalObject {
public:
static const HashTableValue JSattributePrototypeTableValues[] =
{
- { "constructor", DontEnum | ReadOnly, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsattributeConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
+ { "constructor", DontEnum, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsattributeConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSattributeConstructor) } },
{ "readonly", ReadOnly | CustomAccessor, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsattributeReadonly), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
};
return JSValue::encode(JSattribute::getConstructor(state->vm(), domObject->globalObject()));
}
+void setJSattributeConstructor(ExecState* state, JSObject* baseValue, EncodedJSValue thisValue, EncodedJSValue encodedValue)
+{
+ JSValue value = JSValue::decode(encodedValue);
+ UNUSED_PARAM(thisValue);
+ JSattributePrototype* domObject = jsDynamicCast<JSattributePrototype*>(baseValue);
+ if (UNLIKELY(!domObject)) {
+ throwVMTypeError(state);
+ return;
+ }
+ // Shadowing a built-in constructor
+ domObject->putDirect(state->vm(), state->propertyNames().constructor, value);
+}
+
JSValue JSattribute::getConstructor(VM& vm, JSGlobalObject* globalObject)
{
return getDOMConstructor<JSattributeConstructor>(vm, *jsCast<JSDOMGlobalObject*>(globalObject));
// Attributes
JSC::EncodedJSValue jsreadonlyConstructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::PropertyName);
+void setJSreadonlyConstructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
class JSreadonlyPrototype : public JSC::JSNonFinalObject {
public:
static const HashTableValue JSreadonlyPrototypeTableValues[] =
{
- { "constructor", DontEnum | ReadOnly, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsreadonlyConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
+ { "constructor", DontEnum, NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsreadonlyConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSreadonlyConstructor) } },
};
const ClassInfo JSreadonlyPrototype::s_info = { "readonlyPrototype", &Base::s_info, 0, CREATE_METHOD_TABLE(JSreadonlyPrototype) };
return JSValue::encode(JSreadonly::getConstructor(state->vm(), domObject->globalObject()));
}
+void setJSreadonlyConstructor(ExecState* state, JSObject* baseValue, EncodedJSValue thisValue, EncodedJSValue encodedValue)
+{
+ JSValue value = JSValue::decode(encodedValue);
+ UNUSED_PARAM(thisValue);
+ JSreadonlyPrototype* domObject = jsDynamicCast<JSreadonlyPrototype*>(baseValue);
+ if (UNLIKELY(!domObject)) {
+ throwVMTypeError(state);
+ return;
+ }
+ // Shadowing a built-in constructor
+ domObject->putDirect(state->vm(), state->propertyNames().constructor, value);
+}
+
JSValue JSreadonly::getConstructor(VM& vm, JSGlobalObject* globalObject)
{
return getDOMConstructor<JSreadonlyConstructor>(vm, *jsCast<JSDOMGlobalObject*>(globalObject));
CustomPutFunction,
EventTarget,
JSGenerateToNativeObject,
- ReplaceableConstructor,
JSLegacyParent=JSDOMWindowBase,
InterfaceName=Window,
] interface DOMWindow {