Implement @isConstructor bytecode intrinsic and bytecode for that
authorshvaikalesh@gmail.com <shvaikalesh@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 13 May 2020 06:41:34 +0000 (06:41 +0000)
committershvaikalesh@gmail.com <shvaikalesh@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 13 May 2020 06:41:34 +0000 (06:41 +0000)
https://bugs.webkit.org/show_bug.cgi?id=144093

Reviewed by Keith Miller.

JSTests:

* microbenchmarks/is-constructor.js: Added.
* stress/async-arrow-function-in-class-heritage.js:
* stress/is-constructor.js:
* test262/expectations.yaml: Mark 2 test cases as passing.

LayoutTests/imported/w3c:

Tests for unsupported customized built-in elements now fail early
since interfaces they extend lack Constructor WebIDL attribute.

* web-platform-tests/custom-elements/Document-createElement-expected.txt:
* web-platform-tests/custom-elements/Document-createElementNS-expected.txt:
* web-platform-tests/custom-elements/HTMLElement-constructor-expected.txt:
* web-platform-tests/custom-elements/builtin-coverage-expected.txt:
* web-platform-tests/custom-elements/htmlconstructor/newtarget-expected.txt:
* web-platform-tests/custom-elements/parser/serializing-html-fragments-expected.txt:
* web-platform-tests/custom-elements/upgrading/Document-importNode-expected.txt:
* web-platform-tests/custom-elements/upgrading/Node-cloneNode-expected.txt:
* web-platform-tests/shadow-dom/Element-interface-attachShadow-custom-element-expected.txt:

Source/JavaScriptCore:

This change replaces @isConstructor link-time-constant with bytecode intrinsic and utilizes it
in ClassExprNode::emitBytecode() according to the spec [1], aligning JSC with V8 and SpiderMonkey.

Before this patch, we checked if "prototype" of superclass is an object, which is incorrect for
generators and bound non-constructor functions with own "prototype".

OpIsConstructor's fast path can't be easily compiled, and it's not a hot code anyway, so instead
we reduce code bloat by just calling slow ops from DFG and FTL (if we bail out, we slow down all
@isConstructor call sites). This advances microbenchmarks/is-constructor.js by ~35%.

[1]: https://tc39.es/ecma262/#sec-runtime-semantics-classdefinitionevaluation (step 5.f)

* JavaScriptCore.xcodeproj/project.pbxproj:
* Sources.txt:
* builtins/BuiltinNames.h:
* bytecode/BytecodeIntrinsicRegistry.h:
* bytecode/BytecodeList.rb:
* bytecode/BytecodeUseDef.cpp:
(JSC::computeUsesForBytecodeIndexImpl):
(JSC::computeDefsForBytecodeIndexImpl):
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitIsConstructor):
* bytecompiler/BytecodeGenerator.h:
* bytecompiler/NodesCodegen.cpp:
(JSC::ClassExprNode::emitBytecode):
* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGCapabilities.cpp:
(JSC::DFG::capabilityLevel):
* dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
* dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
* dfg/DFGHeapLocation.cpp:
(WTF::printInternal):
* dfg/DFGHeapLocation.h:
* dfg/DFGNodeType.h:
* dfg/DFGOperations.cpp:
* dfg/DFGOperations.h:
* dfg/DFGPredictionPropagationPhase.cpp:
* dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileIsConstructor):
* dfg/DFGSpeculativeJIT.h:
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
* ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileIsConstructor):
* jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
* llint/LowLevelInterpreter.asm:
* runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
* runtime/CommonSlowPaths.h:
* runtime/ECMAScriptSpecInternalFunctions.cpp: Removed.
* runtime/ECMAScriptSpecInternalFunctions.h: Removed.
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):

LayoutTests:

Tests for unsupported customized built-in elements now fail early
since interfaces they extend lack Constructor WebIDL attribute.

* js/class-syntax-extends-expected.txt:
* js/script-tests/class-syntax-extends.js:
* platform/gtk/imported/w3c/web-platform-tests/custom-elements/builtin-coverage-expected.txt:
* platform/ios-wk2/imported/w3c/web-platform-tests/custom-elements/builtin-coverage-expected.txt:
* platform/mac-wk2/imported/w3c/web-platform-tests/custom-elements/builtin-coverage-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@261600 268f45cc-cd09-0410-ab3c-d52691b4dbfc

57 files changed:
JSTests/ChangeLog
JSTests/microbenchmarks/is-constructor.js [new file with mode: 0644]
JSTests/stress/async-arrow-function-in-class-heritage.js
JSTests/stress/is-constructor.js
JSTests/test262/expectations.yaml
LayoutTests/ChangeLog
LayoutTests/imported/w3c/ChangeLog
LayoutTests/imported/w3c/web-platform-tests/custom-elements/Document-createElement-expected.txt
LayoutTests/imported/w3c/web-platform-tests/custom-elements/Document-createElementNS-expected.txt
LayoutTests/imported/w3c/web-platform-tests/custom-elements/HTMLElement-constructor-expected.txt
LayoutTests/imported/w3c/web-platform-tests/custom-elements/builtin-coverage-expected.txt
LayoutTests/imported/w3c/web-platform-tests/custom-elements/htmlconstructor/newtarget-expected.txt
LayoutTests/imported/w3c/web-platform-tests/custom-elements/parser/serializing-html-fragments-expected.txt
LayoutTests/imported/w3c/web-platform-tests/custom-elements/upgrading/Document-importNode-expected.txt
LayoutTests/imported/w3c/web-platform-tests/custom-elements/upgrading/Node-cloneNode-expected.txt
LayoutTests/imported/w3c/web-platform-tests/shadow-dom/Element-interface-attachShadow-custom-element-expected.txt
LayoutTests/js/class-syntax-extends-expected.txt
LayoutTests/js/script-tests/class-syntax-extends.js
LayoutTests/platform/gtk/imported/w3c/web-platform-tests/custom-elements/builtin-coverage-expected.txt
LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/custom-elements/builtin-coverage-expected.txt
LayoutTests/platform/mac-wk2/imported/w3c/web-platform-tests/custom-elements/builtin-coverage-expected.txt
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj
Source/JavaScriptCore/Sources.txt
Source/JavaScriptCore/builtins/BuiltinNames.h
Source/JavaScriptCore/bytecode/BytecodeIntrinsicRegistry.h
Source/JavaScriptCore/bytecode/BytecodeList.rb
Source/JavaScriptCore/bytecode/BytecodeUseDef.cpp
Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp
Source/JavaScriptCore/bytecompiler/BytecodeGenerator.h
Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp
Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h
Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp
Source/JavaScriptCore/dfg/DFGCapabilities.cpp
Source/JavaScriptCore/dfg/DFGClobberize.h
Source/JavaScriptCore/dfg/DFGDoesGC.cpp
Source/JavaScriptCore/dfg/DFGFixupPhase.cpp
Source/JavaScriptCore/dfg/DFGHeapLocation.cpp
Source/JavaScriptCore/dfg/DFGHeapLocation.h
Source/JavaScriptCore/dfg/DFGNodeType.h
Source/JavaScriptCore/dfg/DFGOperations.cpp
Source/JavaScriptCore/dfg/DFGOperations.h
Source/JavaScriptCore/dfg/DFGPredictionPropagationPhase.cpp
Source/JavaScriptCore/dfg/DFGSafeToExecute.h
Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp
Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h
Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp
Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp
Source/JavaScriptCore/ftl/FTLCapabilities.cpp
Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp
Source/JavaScriptCore/jit/JIT.cpp
Source/JavaScriptCore/llint/LowLevelInterpreter.asm
Source/JavaScriptCore/runtime/CommonSlowPaths.cpp
Source/JavaScriptCore/runtime/CommonSlowPaths.h
Source/JavaScriptCore/runtime/ECMAScriptSpecInternalFunctions.cpp [deleted file]
Source/JavaScriptCore/runtime/ECMAScriptSpecInternalFunctions.h [deleted file]
Source/JavaScriptCore/runtime/JSGlobalObject.cpp

index 38a8b35..3748af6 100644 (file)
@@ -1,3 +1,15 @@
+2020-05-12  Alexey Shvayka  <shvaikalesh@gmail.com>
+
+        Implement @isConstructor bytecode intrinsic and bytecode for that
+        https://bugs.webkit.org/show_bug.cgi?id=144093
+
+        Reviewed by Keith Miller.
+
+        * microbenchmarks/is-constructor.js: Added.
+        * stress/async-arrow-function-in-class-heritage.js:
+        * stress/is-constructor.js:
+        * test262/expectations.yaml: Mark 2 test cases as passing.
+
 2020-05-12  Robin Morisset  <rmorisset@apple.com>
 
         Exception check for OOM is a bit too late in JSBigInt::exponentiate.
diff --git a/JSTests/microbenchmarks/is-constructor.js b/JSTests/microbenchmarks/is-constructor.js
new file mode 100644 (file)
index 0000000..ec104c5
--- /dev/null
@@ -0,0 +1,13 @@
+const isConstructor = $vm.createBuiltin("(function (c) { return @isConstructor(c); })");
+noInline(isConstructor);
+
+class Foo {}
+function Bar() {}
+
+for (let i = 0; i < 1e6; ++i) {
+    isConstructor(Foo);
+    isConstructor(Bar);
+    isConstructor(Array);
+    isConstructor(Promise);
+    isConstructor(null);
+}
index 3e5c94f..7777f3e 100644 (file)
@@ -22,4 +22,4 @@ function testSyntaxError(script, message) {
 }
 
 testSyntaxError(`void class extends async()=>{} {}`, `SyntaxError: Unexpected token '=>'`);
-testSyntaxError(`void class extends (async()=>{}) {}`, `TypeError: The value of the superclass's prototype property is not an object.`);
+testSyntaxError(`void class extends (async()=>{}) {}`, `TypeError: The superclass is not a constructor.`);
index 0dfe351..c9beff4 100644 (file)
@@ -1,11 +1,12 @@
-var createBuiltin = $vm.createBuiltin;
-
 function assert(x) {
     if (!x)
         throw Error("Bad");
 }
 
-let isConstructor = createBuiltin("(function (c) { return @isConstructor(c); })");
+const isConstructor = $vm.createBuiltin("(function (c) { return @isConstructor(c); })");
+noInline(isConstructor);
+
+for (let i = 0; i < 1e4; ++i) {
 
 // Functions.
 assert(isConstructor(assert));
@@ -98,3 +99,5 @@ assert(isConstructor(new Proxy(Symbol, {})));
 assert(isConstructor(Symbol.bind(null)));
 assert(!isConstructor(new Proxy(Math.cos, {})));
 assert(!isConstructor(Math.cos.bind(null)));
+
+}
index 329cee7..7a64180 100644 (file)
@@ -3234,9 +3234,6 @@ test/language/statements/class/poisoned-underscore-proto.js:
 test/language/statements/class/subclass/builtin-objects/ArrayBuffer/regular-subclassing.js:
   default: 'Test262Error: Expected true but got false'
   strict mode: 'Test262Error: Expected true but got false'
-test/language/statements/class/subclass/class-definition-superclass-generator.js:
-  default: 'Test262Error: Expected a TypeError to be thrown but no exception was thrown at all'
-  strict mode: 'Test262Error: Expected a TypeError to be thrown but no exception was thrown at all'
 test/language/statements/do-while/let-array-with-newline.js:
   default: 'Test262: This statement should not be evaluated.'
 test/language/statements/for-await-of/async-from-sync-iterator-continuation-abrupt-completion-get-constructor.js:
index cf8b973..e62995e 100644 (file)
@@ -1,3 +1,19 @@
+2020-05-12  Alexey Shvayka  <shvaikalesh@gmail.com>
+
+        Implement @isConstructor bytecode intrinsic and bytecode for that
+        https://bugs.webkit.org/show_bug.cgi?id=144093
+
+        Reviewed by Keith Miller.
+
+        Tests for unsupported customized built-in elements now fail early
+        since interfaces they extend lack Constructor WebIDL attribute.
+
+        * js/class-syntax-extends-expected.txt:
+        * js/script-tests/class-syntax-extends.js:
+        * platform/gtk/imported/w3c/web-platform-tests/custom-elements/builtin-coverage-expected.txt:
+        * platform/ios-wk2/imported/w3c/web-platform-tests/custom-elements/builtin-coverage-expected.txt:
+        * platform/mac-wk2/imported/w3c/web-platform-tests/custom-elements/builtin-coverage-expected.txt:
+
 2020-05-12  Jason Lawrence  <lawrence.j@apple.com>
 
         ASSERTION FAILED: m_uncommittedState.state == State::Committed on http/tests/referrer-policy-anchor/origin/cross-origin-http.https.html 
index d8ff0ed..90bc20a 100644 (file)
@@ -1,3 +1,23 @@
+2020-05-12  Alexey Shvayka  <shvaikalesh@gmail.com>
+
+        Implement @isConstructor bytecode intrinsic and bytecode for that
+        https://bugs.webkit.org/show_bug.cgi?id=144093
+
+        Reviewed by Keith Miller.
+
+        Tests for unsupported customized built-in elements now fail early 
+        since interfaces they extend lack Constructor WebIDL attribute.
+
+        * web-platform-tests/custom-elements/Document-createElement-expected.txt:
+        * web-platform-tests/custom-elements/Document-createElementNS-expected.txt:
+        * web-platform-tests/custom-elements/HTMLElement-constructor-expected.txt:
+        * web-platform-tests/custom-elements/builtin-coverage-expected.txt:
+        * web-platform-tests/custom-elements/htmlconstructor/newtarget-expected.txt:
+        * web-platform-tests/custom-elements/parser/serializing-html-fragments-expected.txt:
+        * web-platform-tests/custom-elements/upgrading/Document-importNode-expected.txt:
+        * web-platform-tests/custom-elements/upgrading/Node-cloneNode-expected.txt:
+        * web-platform-tests/shadow-dom/Element-interface-attachShadow-custom-element-expected.txt:
+
 2020-05-12  Youenn Fablet  <youenn@apple.com>
 
         Introduce a RealtimeMediaSource video sample observer
index 87e07d3..0aef9bd 100644 (file)
@@ -1,7 +1,7 @@
 
 PASS document.createElement must create an instance of custom elements 
 PASS document.createElement must create an instance of autonomous custom elements when it has is attribute 
-FAIL document.createElement()'s second argument is to be ignored when it's a string assert_true: expected true got false
+FAIL document.createElement()'s second argument is to be ignored when it's a string The superclass is not a constructor.
 PASS document.createElement must report a TypeError when the result of Construct is not a DOM node 
 PASS document.createElement must report a TypeError when the result of Construct is a TextNode 
 PASS document.createElement must report a NotSupportedError when attribute is added by setAttribute during construction 
@@ -36,7 +36,7 @@ PASS document.createElement must report a NotSupportedError when the element is
 PASS document.createElement must not report a NotSupportedError when the element is adopted back from a an HTML document fetched by XHR during construction 
 PASS document.createElement must report a NotSupportedError when the local name of the element does not match that of the custom element 
 PASS document.createElement must report an exception thrown by a custom element constructor 
-FAIL document.createElement must report an exception thrown by a custom built-in element constructor assert_throws: function "function () { new ThrowCustomBuiltinElement; }" threw object "TypeError: function is not a constructor (evaluating 'super()')" ("TypeError") expected object "[object Object]" ("exception thrown by a custom constructor")
-FAIL document.createElement with unknown "is" value should create "undefined" state element assert_true: Undefined element is upgraded on connecting to a document expected true got false
+FAIL document.createElement must report an exception thrown by a custom built-in element constructor The superclass is not a constructor.
+FAIL document.createElement with unknown "is" value should create "undefined" state element The superclass is not a constructor.
 PASS document.createElement with undefined options value should be upgraded. 
 
index b999d89..70ae95e 100644 (file)
@@ -5,5 +5,5 @@ PASS autonomous: document.createElementNS should not create HTMLUnknownElement f
 PASS autonomous: document.createElementNS with undefined options value should be upgraded. 
 FAIL builtin: document.createElementNS should create custom elements with prefixes. assert_true: expected true got false
 PASS builtin: document.createElementNS should check namespaces. 
-FAIL document.createElementNS()'s third argument is to be ignored when it's a string assert_true: expected true got false
+FAIL document.createElementNS()'s third argument is to be ignored when it's a string The superclass is not a constructor.
 
index ca42896..14e550e 100644 (file)
@@ -2,8 +2,8 @@
 PASS HTMLElement constructor must throw a TypeError when NewTarget is equal to itself 
 PASS HTMLElement constructor must throw a TypeError when NewTarget is equal to itself via a Proxy object 
 PASS HTMLElement constructor must throw TypeError when it has not been defined by customElements.define 
-PASS Custom element constructor must throw TypeError when it does not extend HTMLElement 
-PASS Custom element constructor must throw TypeError when it does not extend the proper element interface 
+FAIL Custom element constructor must throw TypeError when it does not extend HTMLElement The superclass is not a constructor.
+FAIL Custom element constructor must throw TypeError when it does not extend the proper element interface The superclass is not a constructor.
 PASS HTMLElement constructor must infer the tag name from the element interface 
 PASS HTMLElement constructor must allow subclassing a custom element 
 PASS HTMLElement constructor must allow subclassing an user-defined subclass of HTMLElement 
index 48b9bab..10cde01 100644 (file)
@@ -1,12 +1,5 @@
 
-PASS a: Define a customized built-in element 
-FAIL a: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL a: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLAnchorElement {}" but got function "function HTMLAnchorElement() {
-    [native code]
-}"
-FAIL a: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLAnchorElement {}" but got function "function HTMLAnchorElement() {
-    [native code]
-}"
+FAIL a: Define a customized built-in element The superclass is not a constructor.
 PASS abbr: Define a customized built-in element 
 PASS abbr: Operator 'new' should instantiate a customized built-in element 
 FAIL abbr: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -23,14 +16,7 @@ FAIL address: document.createElement() should instantiate a customized built-in
 FAIL address: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS area: Define a customized built-in element 
-FAIL area: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL area: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLAreaElement {}" but got function "function HTMLAreaElement() {
-    [native code]
-}"
-FAIL area: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLAreaElement {}" but got function "function HTMLAreaElement() {
-    [native code]
-}"
+FAIL area: Define a customized built-in element The superclass is not a constructor.
 PASS article: Define a customized built-in element 
 PASS article: Operator 'new' should instantiate a customized built-in element 
 FAIL article: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -47,14 +33,7 @@ FAIL aside: document.createElement() should instantiate a customized built-in el
 FAIL aside: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS audio: Define a customized built-in element 
-FAIL audio: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL audio: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLAudioElement {}" but got function "function HTMLAudioElement() {
-    [native code]
-}"
-FAIL audio: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLAudioElement {}" but got function "function HTMLAudioElement() {
-    [native code]
-}"
+FAIL audio: Define a customized built-in element The superclass is not a constructor.
 PASS b: Define a customized built-in element 
 PASS b: Operator 'new' should instantiate a customized built-in element 
 FAIL b: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -63,14 +42,7 @@ FAIL b: document.createElement() should instantiate a customized built-in elemen
 FAIL b: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS base: Define a customized built-in element 
-FAIL base: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL base: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLBaseElement {}" but got function "function HTMLBaseElement() {
-    [native code]
-}"
-FAIL base: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLBaseElement {}" but got function "function HTMLBaseElement() {
-    [native code]
-}"
+FAIL base: Define a customized built-in element The superclass is not a constructor.
 PASS bdi: Define a customized built-in element 
 PASS bdi: Operator 'new' should instantiate a customized built-in element 
 FAIL bdi: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -87,54 +59,12 @@ FAIL bdo: document.createElement() should instantiate a customized built-in elem
 FAIL bdo: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS blockquote: Define a customized built-in element 
-FAIL blockquote: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL blockquote: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLQuoteElement {}" but got function "function HTMLQuoteElement() {
-    [native code]
-}"
-FAIL blockquote: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLQuoteElement {}" but got function "function HTMLQuoteElement() {
-    [native code]
-}"
-PASS body: Define a customized built-in element 
-FAIL body: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL body: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLBodyElement {}" but got function "function HTMLBodyElement() {
-    [native code]
-}"
-FAIL body: document parser should instantiate a customized built-in element assert_equals: expected function "class extends HTMLBodyElement {}" but got function "function HTMLBodyElement() {
-    [native code]
-}"
-PASS br: Define a customized built-in element 
-FAIL br: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL br: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLBRElement {}" but got function "function HTMLBRElement() {
-    [native code]
-}"
-FAIL br: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLBRElement {}" but got function "function HTMLBRElement() {
-    [native code]
-}"
-PASS button: Define a customized built-in element 
-FAIL button: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL button: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLButtonElement {}" but got function "function HTMLButtonElement() {
-    [native code]
-}"
-FAIL button: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLButtonElement {}" but got function "function HTMLButtonElement() {
-    [native code]
-}"
-PASS canvas: Define a customized built-in element 
-FAIL canvas: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL canvas: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLCanvasElement {}" but got function "function HTMLCanvasElement() {
-    [native code]
-}"
-FAIL canvas: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLCanvasElement {}" but got function "function HTMLCanvasElement() {
-    [native code]
-}"
-PASS caption: Define a customized built-in element 
-FAIL caption: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL caption: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableCaptionElement {}" but got function "function HTMLTableCaptionElement() {
-    [native code]
-}"
-FAIL caption: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableCaptionElement {}" but got function "function HTMLTableCaptionElement() {
-    [native code]
-}"
+FAIL blockquote: Define a customized built-in element The superclass is not a constructor.
+FAIL body: Define a customized built-in element The superclass is not a constructor.
+FAIL br: Define a customized built-in element The superclass is not a constructor.
+FAIL button: Define a customized built-in element The superclass is not a constructor.
+FAIL canvas: Define a customized built-in element The superclass is not a constructor.
+FAIL caption: Define a customized built-in element The superclass is not a constructor.
 PASS cite: Define a customized built-in element 
 PASS cite: Operator 'new' should instantiate a customized built-in element 
 FAIL cite: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -151,30 +81,9 @@ FAIL code: document.createElement() should instantiate a customized built-in ele
 FAIL code: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS col: Define a customized built-in element 
-FAIL col: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL col: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableColElement {}" but got function "function HTMLTableColElement() {
-    [native code]
-}"
-FAIL col: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableColElement {}" but got function "function HTMLTableColElement() {
-    [native code]
-}"
-PASS colgroup: Define a customized built-in element 
-FAIL colgroup: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL colgroup: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableColElement {}" but got function "function HTMLTableColElement() {
-    [native code]
-}"
-FAIL colgroup: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableColElement {}" but got function "function HTMLTableColElement() {
-    [native code]
-}"
-PASS data: Define a customized built-in element 
-FAIL data: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL data: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLDataElement {}" but got function "function HTMLDataElement() {
-    [native code]
-}"
-FAIL data: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLDataElement {}" but got function "function HTMLDataElement() {
-    [native code]
-}"
+FAIL col: Define a customized built-in element The superclass is not a constructor.
+FAIL colgroup: Define a customized built-in element The superclass is not a constructor.
+FAIL data: Define a customized built-in element The superclass is not a constructor.
 PASS dd: Define a customized built-in element 
 PASS dd: Operator 'new' should instantiate a customized built-in element 
 FAIL dd: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -183,22 +92,8 @@ FAIL dd: document.createElement() should instantiate a customized built-in eleme
 FAIL dd: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS del: Define a customized built-in element 
-FAIL del: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL del: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLModElement {}" but got function "function HTMLModElement() {
-    [native code]
-}"
-FAIL del: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLModElement {}" but got function "function HTMLModElement() {
-    [native code]
-}"
-PASS details: Define a customized built-in element 
-FAIL details: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL details: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLDetailsElement {}" but got function "function HTMLDetailsElement() {
-    [native code]
-}"
-FAIL details: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLDetailsElement {}" but got function "function HTMLDetailsElement() {
-    [native code]
-}"
+FAIL del: Define a customized built-in element The superclass is not a constructor.
+FAIL details: Define a customized built-in element The superclass is not a constructor.
 PASS dfn: Define a customized built-in element 
 PASS dfn: Operator 'new' should instantiate a customized built-in element 
 FAIL dfn: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -207,22 +102,8 @@ FAIL dfn: document.createElement() should instantiate a customized built-in elem
 FAIL dfn: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS div: Define a customized built-in element 
-FAIL div: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL div: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLDivElement {}" but got function "function HTMLDivElement() {
-    [native code]
-}"
-FAIL div: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLDivElement {}" but got function "function HTMLDivElement() {
-    [native code]
-}"
-PASS dl: Define a customized built-in element 
-FAIL dl: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL dl: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLDListElement {}" but got function "function HTMLDListElement() {
-    [native code]
-}"
-FAIL dl: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLDListElement {}" but got function "function HTMLDListElement() {
-    [native code]
-}"
+FAIL div: Define a customized built-in element The superclass is not a constructor.
+FAIL dl: Define a customized built-in element The superclass is not a constructor.
 PASS dt: Define a customized built-in element 
 PASS dt: Operator 'new' should instantiate a customized built-in element 
 FAIL dt: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -239,22 +120,8 @@ FAIL em: document.createElement() should instantiate a customized built-in eleme
 FAIL em: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS embed: Define a customized built-in element 
-FAIL embed: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL embed: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLEmbedElement {}" but got function "function HTMLEmbedElement() {
-    [native code]
-}"
-FAIL embed: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLEmbedElement {}" but got function "function HTMLEmbedElement() {
-    [native code]
-}"
-PASS fieldset: Define a customized built-in element 
-FAIL fieldset: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL fieldset: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLFieldSetElement {}" but got function "function HTMLFieldSetElement() {
-    [native code]
-}"
-FAIL fieldset: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLFieldSetElement {}" but got function "function HTMLFieldSetElement() {
-    [native code]
-}"
+FAIL embed: Define a customized built-in element The superclass is not a constructor.
+FAIL fieldset: Define a customized built-in element The superclass is not a constructor.
 PASS figcaption: Define a customized built-in element 
 PASS figcaption: Operator 'new' should instantiate a customized built-in element 
 FAIL figcaption: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -279,62 +146,13 @@ FAIL footer: document.createElement() should instantiate a customized built-in e
 FAIL footer: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS form: Define a customized built-in element 
-FAIL form: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL form: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLFormElement {}" but got function "function HTMLFormElement() {
-    [native code]
-}"
-FAIL form: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLFormElement {}" but got function "function HTMLFormElement() {
-    [native code]
-}"
-PASS h1: Define a customized built-in element 
-FAIL h1: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL h1: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHeadingElement {}" but got function "function HTMLHeadingElement() {
-    [native code]
-}"
-FAIL h1: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHeadingElement {}" but got function "function HTMLHeadingElement() {
-    [native code]
-}"
-PASS h2: Define a customized built-in element 
-FAIL h2: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL h2: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHeadingElement {}" but got function "function HTMLHeadingElement() {
-    [native code]
-}"
-FAIL h2: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHeadingElement {}" but got function "function HTMLHeadingElement() {
-    [native code]
-}"
-PASS h3: Define a customized built-in element 
-FAIL h3: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL h3: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHeadingElement {}" but got function "function HTMLHeadingElement() {
-    [native code]
-}"
-FAIL h3: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHeadingElement {}" but got function "function HTMLHeadingElement() {
-    [native code]
-}"
-PASS h4: Define a customized built-in element 
-FAIL h4: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL h4: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHeadingElement {}" but got function "function HTMLHeadingElement() {
-    [native code]
-}"
-FAIL h4: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHeadingElement {}" but got function "function HTMLHeadingElement() {
-    [native code]
-}"
-PASS h5: Define a customized built-in element 
-FAIL h5: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL h5: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHeadingElement {}" but got function "function HTMLHeadingElement() {
-    [native code]
-}"
-FAIL h5: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHeadingElement {}" but got function "function HTMLHeadingElement() {
-    [native code]
-}"
-PASS h6: Define a customized built-in element 
-FAIL h6: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL h6: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHeadingElement {}" but got function "function HTMLHeadingElement() {
-    [native code]
-}"
-FAIL h6: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHeadingElement {}" but got function "function HTMLHeadingElement() {
-    [native code]
-}"
+FAIL form: Define a customized built-in element The superclass is not a constructor.
+FAIL h1: Define a customized built-in element The superclass is not a constructor.
+FAIL h2: Define a customized built-in element The superclass is not a constructor.
+FAIL h3: Define a customized built-in element The superclass is not a constructor.
+FAIL h4: Define a customized built-in element The superclass is not a constructor.
+FAIL h5: Define a customized built-in element The superclass is not a constructor.
+FAIL h6: Define a customized built-in element The superclass is not a constructor.
 PASS header: Define a customized built-in element 
 PASS header: Operator 'new' should instantiate a customized built-in element 
 FAIL header: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -351,22 +169,8 @@ FAIL hgroup: document.createElement() should instantiate a customized built-in e
 FAIL hgroup: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS hr: Define a customized built-in element 
-FAIL hr: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL hr: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHRElement {}" but got function "function HTMLHRElement() {
-    [native code]
-}"
-FAIL hr: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHRElement {}" but got function "function HTMLHRElement() {
-    [native code]
-}"
-PASS html: Define a customized built-in element 
-FAIL html: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL html: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHtmlElement {}" but got function "function HTMLHtmlElement() {
-    [native code]
-}"
-FAIL html: document parser should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHtmlElement {}" but got function "function HTMLHtmlElement() {
-    [native code]
-}"
+FAIL hr: Define a customized built-in element The superclass is not a constructor.
+FAIL html: Define a customized built-in element The superclass is not a constructor.
 PASS i: Define a customized built-in element 
 PASS i: Operator 'new' should instantiate a customized built-in element 
 FAIL i: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -375,38 +179,10 @@ FAIL i: document.createElement() should instantiate a customized built-in elemen
 FAIL i: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS iframe: Define a customized built-in element 
-FAIL iframe: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL iframe: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLIFrameElement {}" but got function "function HTMLIFrameElement() {
-    [native code]
-}"
-FAIL iframe: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLIFrameElement {}" but got function "function HTMLIFrameElement() {
-    [native code]
-}"
-PASS img: Define a customized built-in element 
-FAIL img: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL img: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLImageElement {}" but got function "function HTMLImageElement() {
-    [native code]
-}"
-FAIL img: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLImageElement {}" but got function "function HTMLImageElement() {
-    [native code]
-}"
-PASS input: Define a customized built-in element 
-FAIL input: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL input: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLInputElement {}" but got function "function HTMLInputElement() {
-    [native code]
-}"
-FAIL input: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLInputElement {}" but got function "function HTMLInputElement() {
-    [native code]
-}"
-PASS ins: Define a customized built-in element 
-FAIL ins: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL ins: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLModElement {}" but got function "function HTMLModElement() {
-    [native code]
-}"
-FAIL ins: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLModElement {}" but got function "function HTMLModElement() {
-    [native code]
-}"
+FAIL iframe: Define a customized built-in element The superclass is not a constructor.
+FAIL img: Define a customized built-in element The superclass is not a constructor.
+FAIL input: Define a customized built-in element The superclass is not a constructor.
+FAIL ins: Define a customized built-in element The superclass is not a constructor.
 PASS kbd: Define a customized built-in element 
 PASS kbd: Operator 'new' should instantiate a customized built-in element 
 FAIL kbd: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -415,38 +191,10 @@ FAIL kbd: document.createElement() should instantiate a customized built-in elem
 FAIL kbd: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS label: Define a customized built-in element 
-FAIL label: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL label: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLLabelElement {}" but got function "function HTMLLabelElement() {
-    [native code]
-}"
-FAIL label: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLLabelElement {}" but got function "function HTMLLabelElement() {
-    [native code]
-}"
-PASS legend: Define a customized built-in element 
-FAIL legend: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL legend: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLLegendElement {}" but got function "function HTMLLegendElement() {
-    [native code]
-}"
-FAIL legend: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLLegendElement {}" but got function "function HTMLLegendElement() {
-    [native code]
-}"
-PASS li: Define a customized built-in element 
-FAIL li: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL li: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLLIElement {}" but got function "function HTMLLIElement() {
-    [native code]
-}"
-FAIL li: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLLIElement {}" but got function "function HTMLLIElement() {
-    [native code]
-}"
-PASS link: Define a customized built-in element 
-FAIL link: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL link: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLLinkElement {}" but got function "function HTMLLinkElement() {
-    [native code]
-}"
-FAIL link: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLLinkElement {}" but got function "function HTMLLinkElement() {
-    [native code]
-}"
+FAIL label: Define a customized built-in element The superclass is not a constructor.
+FAIL legend: Define a customized built-in element The superclass is not a constructor.
+FAIL li: Define a customized built-in element The superclass is not a constructor.
+FAIL link: Define a customized built-in element The superclass is not a constructor.
 PASS main: Define a customized built-in element 
 PASS main: Operator 'new' should instantiate a customized built-in element 
 FAIL main: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -455,14 +203,7 @@ FAIL main: document.createElement() should instantiate a customized built-in ele
 FAIL main: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS map: Define a customized built-in element 
-FAIL map: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL map: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLMapElement {}" but got function "function HTMLMapElement() {
-    [native code]
-}"
-FAIL map: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLMapElement {}" but got function "function HTMLMapElement() {
-    [native code]
-}"
+FAIL map: Define a customized built-in element The superclass is not a constructor.
 PASS mark: Define a customized built-in element 
 PASS mark: Operator 'new' should instantiate a customized built-in element 
 FAIL mark: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -471,30 +212,9 @@ FAIL mark: document.createElement() should instantiate a customized built-in ele
 FAIL mark: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS menu: Define a customized built-in element 
-FAIL menu: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL menu: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLMenuElement {}" but got function "function HTMLMenuElement() {
-    [native code]
-}"
-FAIL menu: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLMenuElement {}" but got function "function HTMLMenuElement() {
-    [native code]
-}"
-PASS meta: Define a customized built-in element 
-FAIL meta: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL meta: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLMetaElement {}" but got function "function HTMLMetaElement() {
-    [native code]
-}"
-FAIL meta: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLMetaElement {}" but got function "function HTMLMetaElement() {
-    [native code]
-}"
-PASS meter: Define a customized built-in element 
-FAIL meter: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL meter: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLMeterElement {}" but got function "function HTMLMeterElement() {
-    [native code]
-}"
-FAIL meter: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLMeterElement {}" but got function "function HTMLMeterElement() {
-    [native code]
-}"
+FAIL menu: Define a customized built-in element The superclass is not a constructor.
+FAIL meta: Define a customized built-in element The superclass is not a constructor.
+FAIL meter: Define a customized built-in element The superclass is not a constructor.
 PASS nav: Define a customized built-in element 
 PASS nav: Operator 'new' should instantiate a customized built-in element 
 FAIL nav: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -511,94 +231,17 @@ FAIL noscript: document.createElement() should instantiate a customized built-in
 FAIL noscript: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS object: Define a customized built-in element 
-FAIL object: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL object: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLObjectElement {}" but got function "function HTMLObjectElement() {
-    [native code]
-}"
-FAIL object: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLObjectElement {}" but got function "function HTMLObjectElement() {
-    [native code]
-}"
-PASS ol: Define a customized built-in element 
-FAIL ol: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL ol: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLOListElement {}" but got function "function HTMLOListElement() {
-    [native code]
-}"
-FAIL ol: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLOListElement {}" but got function "function HTMLOListElement() {
-    [native code]
-}"
-PASS optgroup: Define a customized built-in element 
-FAIL optgroup: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL optgroup: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLOptGroupElement {}" but got function "function HTMLOptGroupElement() {
-    [native code]
-}"
-FAIL optgroup: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLOptGroupElement {}" but got function "function HTMLOptGroupElement() {
-    [native code]
-}"
-PASS option: Define a customized built-in element 
-FAIL option: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL option: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLOptionElement {}" but got function "function HTMLOptionElement() {
-    [native code]
-}"
-FAIL option: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLOptionElement {}" but got function "function HTMLOptionElement() {
-    [native code]
-}"
-PASS output: Define a customized built-in element 
-FAIL output: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL output: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLOutputElement {}" but got function "function HTMLOutputElement() {
-    [native code]
-}"
-FAIL output: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLOutputElement {}" but got function "function HTMLOutputElement() {
-    [native code]
-}"
-PASS p: Define a customized built-in element 
-FAIL p: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL p: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLParagraphElement {}" but got function "function HTMLParagraphElement() {
-    [native code]
-}"
-FAIL p: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLParagraphElement {}" but got function "function HTMLParagraphElement() {
-    [native code]
-}"
-PASS param: Define a customized built-in element 
-FAIL param: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL param: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLParamElement {}" but got function "function HTMLParamElement() {
-    [native code]
-}"
-FAIL param: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLParamElement {}" but got function "function HTMLParamElement() {
-    [native code]
-}"
-PASS picture: Define a customized built-in element 
-FAIL picture: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL picture: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLPictureElement {}" but got function "function HTMLPictureElement() {
-    [native code]
-}"
-FAIL picture: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLPictureElement {}" but got function "function HTMLPictureElement() {
-    [native code]
-}"
-PASS pre: Define a customized built-in element 
-FAIL pre: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL pre: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLPreElement {}" but got function "function HTMLPreElement() {
-    [native code]
-}"
-FAIL pre: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLPreElement {}" but got function "function HTMLPreElement() {
-    [native code]
-}"
-PASS progress: Define a customized built-in element 
-FAIL progress: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL progress: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLProgressElement {}" but got function "function HTMLProgressElement() {
-    [native code]
-}"
-FAIL progress: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLProgressElement {}" but got function "function HTMLProgressElement() {
-    [native code]
-}"
-PASS q: Define a customized built-in element 
-FAIL q: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL q: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLQuoteElement {}" but got function "function HTMLQuoteElement() {
-    [native code]
-}"
-FAIL q: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLQuoteElement {}" but got function "function HTMLQuoteElement() {
-    [native code]
-}"
+FAIL object: Define a customized built-in element The superclass is not a constructor.
+FAIL ol: Define a customized built-in element The superclass is not a constructor.
+FAIL optgroup: Define a customized built-in element The superclass is not a constructor.
+FAIL option: Define a customized built-in element The superclass is not a constructor.
+FAIL output: Define a customized built-in element The superclass is not a constructor.
+FAIL p: Define a customized built-in element The superclass is not a constructor.
+FAIL param: Define a customized built-in element The superclass is not a constructor.
+FAIL picture: Define a customized built-in element The superclass is not a constructor.
+FAIL pre: Define a customized built-in element The superclass is not a constructor.
+FAIL progress: Define a customized built-in element The superclass is not a constructor.
+FAIL q: Define a customized built-in element The superclass is not a constructor.
 PASS rp: Define a customized built-in element 
 PASS rp: Operator 'new' should instantiate a customized built-in element 
 FAIL rp: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -639,14 +282,7 @@ FAIL samp: document.createElement() should instantiate a customized built-in ele
 FAIL samp: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS script: Define a customized built-in element 
-FAIL script: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL script: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLScriptElement {}" but got function "function HTMLScriptElement() {
-    [native code]
-}"
-FAIL script: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLScriptElement {}" but got function "function HTMLScriptElement() {
-    [native code]
-}"
+FAIL script: Define a customized built-in element The superclass is not a constructor.
 PASS section: Define a customized built-in element 
 PASS section: Operator 'new' should instantiate a customized built-in element 
 FAIL section: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -655,14 +291,7 @@ FAIL section: document.createElement() should instantiate a customized built-in
 FAIL section: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS select: Define a customized built-in element 
-FAIL select: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL select: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLSelectElement {}" but got function "function HTMLSelectElement() {
-    [native code]
-}"
-FAIL select: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLSelectElement {}" but got function "function HTMLSelectElement() {
-    [native code]
-}"
+FAIL select: Define a customized built-in element The superclass is not a constructor.
 PASS small: Define a customized built-in element 
 PASS small: Operator 'new' should instantiate a customized built-in element 
 FAIL small: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -671,22 +300,8 @@ FAIL small: document.createElement() should instantiate a customized built-in el
 FAIL small: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS source: Define a customized built-in element 
-FAIL source: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL source: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLSourceElement {}" but got function "function HTMLSourceElement() {
-    [native code]
-}"
-FAIL source: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLSourceElement {}" but got function "function HTMLSourceElement() {
-    [native code]
-}"
-PASS span: Define a customized built-in element 
-FAIL span: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL span: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLSpanElement {}" but got function "function HTMLSpanElement() {
-    [native code]
-}"
-FAIL span: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLSpanElement {}" but got function "function HTMLSpanElement() {
-    [native code]
-}"
+FAIL source: Define a customized built-in element The superclass is not a constructor.
+FAIL span: Define a customized built-in element The superclass is not a constructor.
 PASS strong: Define a customized built-in element 
 PASS strong: Operator 'new' should instantiate a customized built-in element 
 FAIL strong: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -695,14 +310,7 @@ FAIL strong: document.createElement() should instantiate a customized built-in e
 FAIL strong: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS style: Define a customized built-in element 
-FAIL style: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL style: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLStyleElement {}" but got function "function HTMLStyleElement() {
-    [native code]
-}"
-FAIL style: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLStyleElement {}" but got function "function HTMLStyleElement() {
-    [native code]
-}"
+FAIL style: Define a customized built-in element The superclass is not a constructor.
 PASS sub: Define a customized built-in element 
 PASS sub: Operator 'new' should instantiate a customized built-in element 
 FAIL sub: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -727,102 +335,18 @@ FAIL sup: document.createElement() should instantiate a customized built-in elem
 FAIL sup: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS table: Define a customized built-in element 
-FAIL table: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL table: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableElement {}" but got function "function HTMLTableElement() {
-    [native code]
-}"
-FAIL table: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableElement {}" but got function "function HTMLTableElement() {
-    [native code]
-}"
-PASS tbody: Define a customized built-in element 
-FAIL tbody: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL tbody: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableSectionElement {}" but got function "function HTMLTableSectionElement() {
-    [native code]
-}"
-FAIL tbody: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableSectionElement {}" but got function "function HTMLTableSectionElement() {
-    [native code]
-}"
-PASS td: Define a customized built-in element 
-FAIL td: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL td: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableCellElement {}" but got function "function HTMLTableCellElement() {
-    [native code]
-}"
-FAIL td: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableCellElement {}" but got function "function HTMLTableCellElement() {
-    [native code]
-}"
-PASS template: Define a customized built-in element 
-FAIL template: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL template: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTemplateElement {}" but got function "function HTMLTemplateElement() {
-    [native code]
-}"
-FAIL template: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTemplateElement {}" but got function "function HTMLTemplateElement() {
-    [native code]
-}"
-PASS textarea: Define a customized built-in element 
-FAIL textarea: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL textarea: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTextAreaElement {}" but got function "function HTMLTextAreaElement() {
-    [native code]
-}"
-FAIL textarea: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTextAreaElement {}" but got function "function HTMLTextAreaElement() {
-    [native code]
-}"
-PASS tfoot: Define a customized built-in element 
-FAIL tfoot: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL tfoot: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableSectionElement {}" but got function "function HTMLTableSectionElement() {
-    [native code]
-}"
-FAIL tfoot: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableSectionElement {}" but got function "function HTMLTableSectionElement() {
-    [native code]
-}"
-PASS th: Define a customized built-in element 
-FAIL th: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL th: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableCellElement {}" but got function "function HTMLTableCellElement() {
-    [native code]
-}"
-FAIL th: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableCellElement {}" but got function "function HTMLTableCellElement() {
-    [native code]
-}"
-PASS thead: Define a customized built-in element 
-FAIL thead: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL thead: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableSectionElement {}" but got function "function HTMLTableSectionElement() {
-    [native code]
-}"
-FAIL thead: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableSectionElement {}" but got function "function HTMLTableSectionElement() {
-    [native code]
-}"
-PASS time: Define a customized built-in element 
-FAIL time: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL time: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTimeElement {}" but got function "function HTMLTimeElement() {
-    [native code]
-}"
-FAIL time: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTimeElement {}" but got function "function HTMLTimeElement() {
-    [native code]
-}"
-PASS title: Define a customized built-in element 
-FAIL title: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL title: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTitleElement {}" but got function "function HTMLTitleElement() {
-    [native code]
-}"
-FAIL title: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTitleElement {}" but got function "function HTMLTitleElement() {
-    [native code]
-}"
-PASS tr: Define a customized built-in element 
-FAIL tr: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL tr: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableRowElement {}" but got function "function HTMLTableRowElement() {
-    [native code]
-}"
-FAIL tr: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableRowElement {}" but got function "function HTMLTableRowElement() {
-    [native code]
-}"
-PASS track: Define a customized built-in element 
-FAIL track: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL track: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTrackElement {}" but got function "function HTMLTrackElement() {
-    [native code]
-}"
-FAIL track: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTrackElement {}" but got function "function HTMLTrackElement() {
-    [native code]
-}"
+FAIL table: Define a customized built-in element The superclass is not a constructor.
+FAIL tbody: Define a customized built-in element The superclass is not a constructor.
+FAIL td: Define a customized built-in element The superclass is not a constructor.
+FAIL template: Define a customized built-in element The superclass is not a constructor.
+FAIL textarea: Define a customized built-in element The superclass is not a constructor.
+FAIL tfoot: Define a customized built-in element The superclass is not a constructor.
+FAIL th: Define a customized built-in element The superclass is not a constructor.
+FAIL thead: Define a customized built-in element The superclass is not a constructor.
+FAIL time: Define a customized built-in element The superclass is not a constructor.
+FAIL title: Define a customized built-in element The superclass is not a constructor.
+FAIL tr: Define a customized built-in element The superclass is not a constructor.
+FAIL track: Define a customized built-in element The superclass is not a constructor.
 PASS u: Define a customized built-in element 
 PASS u: Operator 'new' should instantiate a customized built-in element 
 FAIL u: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -831,14 +355,7 @@ FAIL u: document.createElement() should instantiate a customized built-in elemen
 FAIL u: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS ul: Define a customized built-in element 
-FAIL ul: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL ul: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLUListElement {}" but got function "function HTMLUListElement() {
-    [native code]
-}"
-FAIL ul: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLUListElement {}" but got function "function HTMLUListElement() {
-    [native code]
-}"
+FAIL ul: Define a customized built-in element The superclass is not a constructor.
 PASS var: Define a customized built-in element 
 PASS var: Operator 'new' should instantiate a customized built-in element 
 FAIL var: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -847,14 +364,7 @@ FAIL var: document.createElement() should instantiate a customized built-in elem
 FAIL var: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS video: Define a customized built-in element 
-FAIL video: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL video: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLVideoElement {}" but got function "function HTMLVideoElement() {
-    [native code]
-}"
-FAIL video: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLVideoElement {}" but got function "function HTMLVideoElement() {
-    [native code]
-}"
+FAIL video: Define a customized built-in element The superclass is not a constructor.
 PASS wbr: Define a customized built-in element 
 PASS wbr: Operator 'new' should instantiate a customized built-in element 
 FAIL wbr: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -863,20 +373,6 @@ FAIL wbr: document.createElement() should instantiate a customized built-in elem
 FAIL wbr: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS dialog: Define a customized built-in element 
-FAIL dialog: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL dialog: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLDialogElement {}" but got function "function HTMLDialogElement() {
-    [native code]
-}"
-FAIL dialog: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLDialogElement {}" but got function "function HTMLDialogElement() {
-    [native code]
-}"
-PASS slot: Define a customized built-in element 
-FAIL slot: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL slot: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLSlotElement {}" but got function "function HTMLSlotElement() {
-    [native code]
-}"
-FAIL slot: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLSlotElement {}" but got function "function HTMLSlotElement() {
-    [native code]
-}"
+FAIL dialog: Define a customized built-in element The superclass is not a constructor.
+FAIL slot: Define a customized built-in element The superclass is not a constructor.
 
index 4291dcc..89a8a9a 100644 (file)
@@ -17,6 +17,6 @@ FAIL If prototype is not object (5), derives the fallback from NewTarget's realm
 FAIL If prototype is not object (5), derives the fallback from NewTarget's GetFunctionRealm (customized built-in elements) promise_test: Unhandled rejection with value: object "TypeError: Reflect.construct requires the first argument be a constructor"
 FAIL If prototype is not object (string), derives the fallback from NewTarget's realm (customized built-in elements) promise_test: Unhandled rejection with value: object "TypeError: Reflect.construct requires the first argument be a constructor"
 FAIL If prototype is not object (string), derives the fallback from NewTarget's GetFunctionRealm (customized built-in elements) promise_test: Unhandled rejection with value: object "TypeError: Reflect.construct requires the first argument be a constructor"
-PASS HTMLParagraphElement constructor must not get .prototype until it finishes its extends sanity checks, calling proxy constructor directly 
-PASS HTMLParagraphElement constructor must not get .prototype until it finishes its extends sanity checks, calling via Reflect 
+FAIL HTMLParagraphElement constructor must not get .prototype until it finishes its extends sanity checks, calling proxy constructor directly promise_test: Unhandled rejection with value: object "TypeError: The superclass is not a constructor."
+FAIL HTMLParagraphElement constructor must not get .prototype until it finishes its extends sanity checks, calling via Reflect promise_test: Unhandled rejection with value: object "TypeError: The superclass is not a constructor."
 
index 437eb73..81288bf 100644 (file)
@@ -1,5 +1,5 @@
 
-FAIL "is" value should be serialized if the custom element has no "is" content attribute function is not a constructor (evaluating 'super(...args)')
+FAIL "is" value should be serialized if the custom element has no "is" content attribute The superclass is not a constructor.
 FAIL "is" value should be serialized even for an undefined element assert_equals: expected "<p is=\"your-p\"></p>" but got "<p></p>"
-PASS "is" content attribute should be serialized even if the element is a customized built-in element 
+FAIL "is" content attribute should be serialized even if the element is a customized built-in element The superclass is not a constructor.
 
index 226cab8..b87c50a 100644 (file)
@@ -1,6 +1,6 @@
 
 PASS autonomous: document.importNode() should import custom elements successfully 
 PASS autonomous: document.importNode() should import "undefined" custom elements successfully 
-FAIL built-in: document.importNode() should import custom elements successfully assert_true: expected true got false
-FAIL built-in: document.importNode() should import "undefined" custom elements successfully assert_true: expected true got false
+FAIL built-in: document.importNode() should import custom elements successfully promise_test: Unhandled rejection with value: object "TypeError: The superclass is not a constructor."
+FAIL built-in: document.importNode() should import "undefined" custom elements successfully promise_test: Unhandled rejection with value: object "TypeError: The superclass is not a constructor."
 
index b33b3ad..5ca70f8 100644 (file)
@@ -1,7 +1,7 @@
 
 PASS Node.prototype.cloneNode(false) must be able to clone a custom element 
 PASS Node.prototype.cloneNode(false) must be able to clone as a autonomous custom element when it contains is attribute 
-FAIL Node.prototype.cloneNode(false) must be able to clone as a customized built-in element when it has an inconsistent "is" attribute assert_true: expected true got false
+FAIL Node.prototype.cloneNode(false) must be able to clone as a customized built-in element when it has an inconsistent "is" attribute The superclass is not a constructor.
 PASS Node.prototype.cloneNode(false) must be able to clone a custom element inside an iframe 
 PASS Node.prototype.cloneNode(true) must be able to clone a descendent custom element 
 PASS Node.prototype.cloneNode(true) must set parentNode, previousSibling, and nextSibling before upgrading custom elements 
index 3baf9e6..034fa39 100644 (file)
@@ -1,12 +1,12 @@
+CONSOLE MESSAGE: TypeError: The superclass is not a constructor.
+
+Harness Error (FAIL), message = TypeError: The superclass is not a constructor.
 
 PASS Element.attachShadow must create an instance of ShadowRoot for autonomous custom elements 
 PASS Element.attachShadow must create an instance of ShadowRoot for undefined autonomous custom elements 
 FAIL Element.attachShadow for an autonomous custom element with disabledFeatures=["shadow"] should throw a NotSupportedError assert_throws: Definition, not a host function "() => {
     document.createElement('shadow-disabled-element').attachShadow({mode: 'closed'});
   }" did not throw
-FAIL Element.attachShadow for a customized built-in element with disabledFeatures=["shadow"] should throw a NotSupportedError assert_throws: Definition, not a host function "() => {
-    h2.attachShadow({mode: 'closed'});
-  }" did not throw
+FAIL Element.attachShadow for a customized built-in element with disabledFeatures=["shadow"] should throw a NotSupportedError The superclass is not a constructor.
 PASS Element.attachShadow for a custom element with disabledFeatures=["SHADOW"] should not throw a NotSupportedError 
-PASS Element.attachShadow must throw a NotSupportedError for customized built-in elements 
 
index e6cdadc..48de2b9 100644 (file)
@@ -23,8 +23,8 @@ PASS x.prototype.__proto__:::Base.prototype
 PASS Object.getPrototypeOf(x.prototype):::Base.prototype
 PASS x = class extends null { constructor() { } }; x.__proto__:::Function.prototype
 PASS x.__proto__:::Function.prototype
-PASS x = class extends 3 { constructor() { } }; x.__proto__:::TypeError: The superclass is not an object.
-PASS x = class extends "abc" { constructor() { } }; x.__proto__:::TypeError: The superclass is not an object.
+PASS x = class extends 3 { constructor() { } }; x.__proto__:::TypeError: The superclass is not a constructor.
+PASS x = class extends "abc" { constructor() { } }; x.__proto__:::TypeError: The superclass is not a constructor.
 PASS baseWithBadPrototype = function () {}; baseWithBadPrototype.prototype = 3; new baseWithBadPrototype
 PASS x = class extends baseWithBadPrototype { constructor() { } }:::TypeError: The value of the superclass's prototype property is not an object.
 PASS baseWithBadPrototype.prototype = "abc"
@@ -32,8 +32,8 @@ PASS x = class extends baseWithBadPrototype { constructor() { } }:::TypeError: T
 PASS baseWithBadPrototype.prototype = null; x = class extends baseWithBadPrototype { constructor() { } }
 PASS x = 1; c = class extends ++x { constructor() { } };:::SyntaxError: Unexpected token '++'
 PASS x = 1; c = class extends x++ { constructor() { } };:::SyntaxError: Unexpected token '++'. Expected opening '{' at the start of a class body.
-PASS x = 1; c = class extends (++x) { constructor() { } };:::TypeError: The superclass is not an object.
-PASS x = 1; c = class extends (x++) { constructor() { } };:::TypeError: The superclass is not an object.
+PASS x = 1; c = class extends (++x) { constructor() { } };:::TypeError: The superclass is not a constructor.
+PASS x = 1; c = class extends (x++) { constructor() { } };:::TypeError: The superclass is not a constructor.
 PASS x = 1; try { c = class extends (++x) { constructor() { } } } catch (e) { }; x:::2
 PASS x = 1; try { c = class extends (x++) { constructor() { } } } catch (e) { }; x:::2
 PASS namespace = {}; namespace.A = class { }; namespace.B = class extends namespace.A { }
@@ -47,15 +47,15 @@ PASS namespace = {}; namespace.A = class { constructor() { } }; function getClas
 PASS namespace = {}; namespace.A = class { constructor() { } }; namespace.B = class extends (false||null||namespace.A) { constructor() { } }
 PASS namespace = {}; namespace.A = class { constructor() { } }; namespace.B = class extends false||null||namespace.A { constructor() { } }:::SyntaxError: Unexpected token '||'. Expected opening '{' at the start of a class body.
 PASS x = 1; namespace = {}; namespace.A = class { constructor() { } }; namespace.B = class extends (x++, namespace.A) { constructor() { } };
-PASS x = 1; namespace = {}; namespace.A = class { constructor() { } }; namespace.B = class extends (namespace.A, x++) { constructor() { } };:::TypeError: The superclass is not an object.
-PASS namespace = {}; namespace.A = class { constructor() { } }; namespace.B = class extends new namespace.A { constructor() { } }:::TypeError: The value of the superclass's prototype property is not an object.
-PASS namespace = {}; namespace.A = class { constructor() { } }; namespace.B = class extends new namespace.A() { constructor() { } }:::TypeError: The value of the superclass's prototype property is not an object.
+PASS x = 1; namespace = {}; namespace.A = class { constructor() { } }; namespace.B = class extends (namespace.A, x++) { constructor() { } };:::TypeError: The superclass is not a constructor.
+PASS namespace = {}; namespace.A = class { constructor() { } }; namespace.B = class extends new namespace.A { constructor() { } }:::TypeError: The superclass is not a constructor.
+PASS namespace = {}; namespace.A = class { constructor() { } }; namespace.B = class extends new namespace.A() { constructor() { } }:::TypeError: The superclass is not a constructor.
 PASS x = 1; namespace = {}; namespace.A = class { constructor() { } }; try { namespace.B = class extends (x++, namespace.A) { constructor() { } } } catch (e) { } x:::2
 PASS x = 1; namespace = {}; namespace.A = class { constructor() { } }; try { namespace.B = class extends (namespace.A, x++) { constructor() { } } } catch (e) { } x:::2
 PASS Object.getPrototypeOf((class { constructor () { } }).prototype):::Object.prototype
 PASS Object.getPrototypeOf((class extends null { constructor () { super(); } }).prototype):::null
-PASS new (class extends undefined { constructor () { this } }):::TypeError: The superclass is not an object.
-PASS x = undefined; new (class extends x { constructor () { super(); } }):::TypeError: The superclass is not an object.
+PASS new (class extends undefined { constructor () { this } }):::TypeError: The superclass is not a constructor.
+PASS x = undefined; new (class extends x { constructor () { super(); } }):::TypeError: The superclass is not a constructor.
 PASS class x {}; new (class extends null { constructor () { return new x; } }) instanceof x
 PASS new (class extends null { constructor () { this; } }):::ReferenceError: Cannot access uninitialized variable.
 PASS new (class extends null { constructor () { super(); } }):::TypeError: function is not a constructor (evaluating 'super()')
index 0588c8e..4875749 100644 (file)
@@ -78,8 +78,8 @@ shouldBe('x.prototype.__proto__', 'Base.prototype');
 shouldBe('Object.getPrototypeOf(x.prototype)', 'Base.prototype');
 shouldBe('x = class extends null { constructor() { } }; x.__proto__', 'Function.prototype');
 shouldBe('x.__proto__', 'Function.prototype');
-shouldThrow('x = class extends 3 { constructor() { } }; x.__proto__', '"TypeError: The superclass is not an object."');
-shouldThrow('x = class extends "abc" { constructor() { } }; x.__proto__', '"TypeError: The superclass is not an object."');
+shouldThrow('x = class extends 3 { constructor() { } }; x.__proto__', '"TypeError: The superclass is not a constructor."');
+shouldThrow('x = class extends "abc" { constructor() { } }; x.__proto__', '"TypeError: The superclass is not a constructor."');
 shouldNotThrow('baseWithBadPrototype = function () {}; baseWithBadPrototype.prototype = 3; new baseWithBadPrototype');
 shouldThrow('x = class extends baseWithBadPrototype { constructor() { } }', '"TypeError: The value of the superclass\'s prototype property is not an object."');
 shouldNotThrow('baseWithBadPrototype.prototype = "abc"');
@@ -112,8 +112,8 @@ shouldBe('x = 1; namespace = {}; namespace.A = class { constructor() { } }; try
 
 shouldBe('Object.getPrototypeOf((class { constructor () { } }).prototype)', 'Object.prototype');
 shouldBe('Object.getPrototypeOf((class extends null { constructor () { super(); } }).prototype)', 'null');
-shouldThrow('new (class extends undefined { constructor () { this } })', '"TypeError: The superclass is not an object."');
-shouldThrow('x = undefined; new (class extends x { constructor () { super(); } })', '"TypeError: The superclass is not an object."');
+shouldThrow('new (class extends undefined { constructor () { this } })', '"TypeError: The superclass is not a constructor."');
+shouldThrow('x = undefined; new (class extends x { constructor () { super(); } })', '"TypeError: The superclass is not a constructor."');
 shouldBeTrue ('class x {}; new (class extends null { constructor () { return new x; } }) instanceof x');
 shouldThrow('new (class extends null { constructor () { this; } })');
 shouldThrow('new (class extends null { constructor () { super(); } })', '"TypeError: function is not a constructor (evaluating \'super()\')"');
index 1b94db6..5aa07f8 100644 (file)
@@ -1,12 +1,5 @@
 
-PASS a: Define a customized built-in element 
-FAIL a: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL a: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLAnchorElement {}" but got function "function HTMLAnchorElement() {
-    [native code]
-}"
-FAIL a: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLAnchorElement {}" but got function "function HTMLAnchorElement() {
-    [native code]
-}"
+FAIL a: Define a customized built-in element The superclass is not a constructor.
 PASS abbr: Define a customized built-in element 
 PASS abbr: Operator 'new' should instantiate a customized built-in element 
 FAIL abbr: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -23,14 +16,7 @@ FAIL address: document.createElement() should instantiate a customized built-in
 FAIL address: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS area: Define a customized built-in element 
-FAIL area: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL area: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLAreaElement {}" but got function "function HTMLAreaElement() {
-    [native code]
-}"
-FAIL area: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLAreaElement {}" but got function "function HTMLAreaElement() {
-    [native code]
-}"
+FAIL area: Define a customized built-in element The superclass is not a constructor.
 PASS article: Define a customized built-in element 
 PASS article: Operator 'new' should instantiate a customized built-in element 
 FAIL article: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -47,14 +33,7 @@ FAIL aside: document.createElement() should instantiate a customized built-in el
 FAIL aside: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS audio: Define a customized built-in element 
-FAIL audio: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL audio: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLAudioElement {}" but got function "function HTMLAudioElement() {
-    [native code]
-}"
-FAIL audio: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLAudioElement {}" but got function "function HTMLAudioElement() {
-    [native code]
-}"
+FAIL audio: Define a customized built-in element The superclass is not a constructor.
 PASS b: Define a customized built-in element 
 PASS b: Operator 'new' should instantiate a customized built-in element 
 FAIL b: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -63,14 +42,7 @@ FAIL b: document.createElement() should instantiate a customized built-in elemen
 FAIL b: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS base: Define a customized built-in element 
-FAIL base: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL base: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLBaseElement {}" but got function "function HTMLBaseElement() {
-    [native code]
-}"
-FAIL base: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLBaseElement {}" but got function "function HTMLBaseElement() {
-    [native code]
-}"
+FAIL base: Define a customized built-in element The superclass is not a constructor.
 PASS bdi: Define a customized built-in element 
 PASS bdi: Operator 'new' should instantiate a customized built-in element 
 FAIL bdi: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -87,54 +59,12 @@ FAIL bdo: document.createElement() should instantiate a customized built-in elem
 FAIL bdo: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS blockquote: Define a customized built-in element 
-FAIL blockquote: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL blockquote: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLQuoteElement {}" but got function "function HTMLQuoteElement() {
-    [native code]
-}"
-FAIL blockquote: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLQuoteElement {}" but got function "function HTMLQuoteElement() {
-    [native code]
-}"
-PASS body: Define a customized built-in element 
-FAIL body: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL body: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLBodyElement {}" but got function "function HTMLBodyElement() {
-    [native code]
-}"
-FAIL body: document parser should instantiate a customized built-in element assert_equals: expected function "class extends HTMLBodyElement {}" but got function "function HTMLBodyElement() {
-    [native code]
-}"
-PASS br: Define a customized built-in element 
-FAIL br: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL br: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLBRElement {}" but got function "function HTMLBRElement() {
-    [native code]
-}"
-FAIL br: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLBRElement {}" but got function "function HTMLBRElement() {
-    [native code]
-}"
-PASS button: Define a customized built-in element 
-FAIL button: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL button: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLButtonElement {}" but got function "function HTMLButtonElement() {
-    [native code]
-}"
-FAIL button: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLButtonElement {}" but got function "function HTMLButtonElement() {
-    [native code]
-}"
-PASS canvas: Define a customized built-in element 
-FAIL canvas: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL canvas: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLCanvasElement {}" but got function "function HTMLCanvasElement() {
-    [native code]
-}"
-FAIL canvas: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLCanvasElement {}" but got function "function HTMLCanvasElement() {
-    [native code]
-}"
-PASS caption: Define a customized built-in element 
-FAIL caption: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL caption: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableCaptionElement {}" but got function "function HTMLTableCaptionElement() {
-    [native code]
-}"
-FAIL caption: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableCaptionElement {}" but got function "function HTMLTableCaptionElement() {
-    [native code]
-}"
+FAIL blockquote: Define a customized built-in element The superclass is not a constructor.
+FAIL body: Define a customized built-in element The superclass is not a constructor.
+FAIL br: Define a customized built-in element The superclass is not a constructor.
+FAIL button: Define a customized built-in element The superclass is not a constructor.
+FAIL canvas: Define a customized built-in element The superclass is not a constructor.
+FAIL caption: Define a customized built-in element The superclass is not a constructor.
 PASS cite: Define a customized built-in element 
 PASS cite: Operator 'new' should instantiate a customized built-in element 
 FAIL cite: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -151,30 +81,9 @@ FAIL code: document.createElement() should instantiate a customized built-in ele
 FAIL code: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS col: Define a customized built-in element 
-FAIL col: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL col: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableColElement {}" but got function "function HTMLTableColElement() {
-    [native code]
-}"
-FAIL col: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableColElement {}" but got function "function HTMLTableColElement() {
-    [native code]
-}"
-PASS colgroup: Define a customized built-in element 
-FAIL colgroup: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL colgroup: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableColElement {}" but got function "function HTMLTableColElement() {
-    [native code]
-}"
-FAIL colgroup: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableColElement {}" but got function "function HTMLTableColElement() {
-    [native code]
-}"
-PASS data: Define a customized built-in element 
-FAIL data: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL data: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLDataElement {}" but got function "function HTMLDataElement() {
-    [native code]
-}"
-FAIL data: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLDataElement {}" but got function "function HTMLDataElement() {
-    [native code]
-}"
+FAIL col: Define a customized built-in element The superclass is not a constructor.
+FAIL colgroup: Define a customized built-in element The superclass is not a constructor.
+FAIL data: Define a customized built-in element The superclass is not a constructor.
 PASS dd: Define a customized built-in element 
 PASS dd: Operator 'new' should instantiate a customized built-in element 
 FAIL dd: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -183,22 +92,8 @@ FAIL dd: document.createElement() should instantiate a customized built-in eleme
 FAIL dd: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS del: Define a customized built-in element 
-FAIL del: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL del: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLModElement {}" but got function "function HTMLModElement() {
-    [native code]
-}"
-FAIL del: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLModElement {}" but got function "function HTMLModElement() {
-    [native code]
-}"
-PASS details: Define a customized built-in element 
-FAIL details: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL details: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLDetailsElement {}" but got function "function HTMLDetailsElement() {
-    [native code]
-}"
-FAIL details: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLDetailsElement {}" but got function "function HTMLDetailsElement() {
-    [native code]
-}"
+FAIL del: Define a customized built-in element The superclass is not a constructor.
+FAIL details: Define a customized built-in element The superclass is not a constructor.
 PASS dfn: Define a customized built-in element 
 PASS dfn: Operator 'new' should instantiate a customized built-in element 
 FAIL dfn: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -207,22 +102,8 @@ FAIL dfn: document.createElement() should instantiate a customized built-in elem
 FAIL dfn: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS div: Define a customized built-in element 
-FAIL div: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL div: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLDivElement {}" but got function "function HTMLDivElement() {
-    [native code]
-}"
-FAIL div: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLDivElement {}" but got function "function HTMLDivElement() {
-    [native code]
-}"
-PASS dl: Define a customized built-in element 
-FAIL dl: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL dl: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLDListElement {}" but got function "function HTMLDListElement() {
-    [native code]
-}"
-FAIL dl: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLDListElement {}" but got function "function HTMLDListElement() {
-    [native code]
-}"
+FAIL div: Define a customized built-in element The superclass is not a constructor.
+FAIL dl: Define a customized built-in element The superclass is not a constructor.
 PASS dt: Define a customized built-in element 
 PASS dt: Operator 'new' should instantiate a customized built-in element 
 FAIL dt: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -239,22 +120,8 @@ FAIL em: document.createElement() should instantiate a customized built-in eleme
 FAIL em: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS embed: Define a customized built-in element 
-FAIL embed: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL embed: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLEmbedElement {}" but got function "function HTMLEmbedElement() {
-    [native code]
-}"
-FAIL embed: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLEmbedElement {}" but got function "function HTMLEmbedElement() {
-    [native code]
-}"
-PASS fieldset: Define a customized built-in element 
-FAIL fieldset: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL fieldset: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLFieldSetElement {}" but got function "function HTMLFieldSetElement() {
-    [native code]
-}"
-FAIL fieldset: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLFieldSetElement {}" but got function "function HTMLFieldSetElement() {
-    [native code]
-}"
+FAIL embed: Define a customized built-in element The superclass is not a constructor.
+FAIL fieldset: Define a customized built-in element The superclass is not a constructor.
 PASS figcaption: Define a customized built-in element 
 PASS figcaption: Operator 'new' should instantiate a customized built-in element 
 FAIL figcaption: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -279,62 +146,13 @@ FAIL footer: document.createElement() should instantiate a customized built-in e
 FAIL footer: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS form: Define a customized built-in element 
-FAIL form: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL form: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLFormElement {}" but got function "function HTMLFormElement() {
-    [native code]
-}"
-FAIL form: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLFormElement {}" but got function "function HTMLFormElement() {
-    [native code]
-}"
-PASS h1: Define a customized built-in element 
-FAIL h1: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL h1: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHeadingElement {}" but got function "function HTMLHeadingElement() {
-    [native code]
-}"
-FAIL h1: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHeadingElement {}" but got function "function HTMLHeadingElement() {
-    [native code]
-}"
-PASS h2: Define a customized built-in element 
-FAIL h2: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL h2: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHeadingElement {}" but got function "function HTMLHeadingElement() {
-    [native code]
-}"
-FAIL h2: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHeadingElement {}" but got function "function HTMLHeadingElement() {
-    [native code]
-}"
-PASS h3: Define a customized built-in element 
-FAIL h3: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL h3: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHeadingElement {}" but got function "function HTMLHeadingElement() {
-    [native code]
-}"
-FAIL h3: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHeadingElement {}" but got function "function HTMLHeadingElement() {
-    [native code]
-}"
-PASS h4: Define a customized built-in element 
-FAIL h4: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL h4: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHeadingElement {}" but got function "function HTMLHeadingElement() {
-    [native code]
-}"
-FAIL h4: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHeadingElement {}" but got function "function HTMLHeadingElement() {
-    [native code]
-}"
-PASS h5: Define a customized built-in element 
-FAIL h5: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL h5: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHeadingElement {}" but got function "function HTMLHeadingElement() {
-    [native code]
-}"
-FAIL h5: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHeadingElement {}" but got function "function HTMLHeadingElement() {
-    [native code]
-}"
-PASS h6: Define a customized built-in element 
-FAIL h6: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL h6: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHeadingElement {}" but got function "function HTMLHeadingElement() {
-    [native code]
-}"
-FAIL h6: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHeadingElement {}" but got function "function HTMLHeadingElement() {
-    [native code]
-}"
+FAIL form: Define a customized built-in element The superclass is not a constructor.
+FAIL h1: Define a customized built-in element The superclass is not a constructor.
+FAIL h2: Define a customized built-in element The superclass is not a constructor.
+FAIL h3: Define a customized built-in element The superclass is not a constructor.
+FAIL h4: Define a customized built-in element The superclass is not a constructor.
+FAIL h5: Define a customized built-in element The superclass is not a constructor.
+FAIL h6: Define a customized built-in element The superclass is not a constructor.
 PASS header: Define a customized built-in element 
 PASS header: Operator 'new' should instantiate a customized built-in element 
 FAIL header: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -351,22 +169,8 @@ FAIL hgroup: document.createElement() should instantiate a customized built-in e
 FAIL hgroup: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS hr: Define a customized built-in element 
-FAIL hr: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL hr: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHRElement {}" but got function "function HTMLHRElement() {
-    [native code]
-}"
-FAIL hr: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHRElement {}" but got function "function HTMLHRElement() {
-    [native code]
-}"
-PASS html: Define a customized built-in element 
-FAIL html: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL html: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHtmlElement {}" but got function "function HTMLHtmlElement() {
-    [native code]
-}"
-FAIL html: document parser should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHtmlElement {}" but got function "function HTMLHtmlElement() {
-    [native code]
-}"
+FAIL hr: Define a customized built-in element The superclass is not a constructor.
+FAIL html: Define a customized built-in element The superclass is not a constructor.
 PASS i: Define a customized built-in element 
 PASS i: Operator 'new' should instantiate a customized built-in element 
 FAIL i: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -375,38 +179,10 @@ FAIL i: document.createElement() should instantiate a customized built-in elemen
 FAIL i: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS iframe: Define a customized built-in element 
-FAIL iframe: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL iframe: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLIFrameElement {}" but got function "function HTMLIFrameElement() {
-    [native code]
-}"
-FAIL iframe: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLIFrameElement {}" but got function "function HTMLIFrameElement() {
-    [native code]
-}"
-PASS img: Define a customized built-in element 
-FAIL img: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL img: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLImageElement {}" but got function "function HTMLImageElement() {
-    [native code]
-}"
-FAIL img: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLImageElement {}" but got function "function HTMLImageElement() {
-    [native code]
-}"
-PASS input: Define a customized built-in element 
-FAIL input: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL input: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLInputElement {}" but got function "function HTMLInputElement() {
-    [native code]
-}"
-FAIL input: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLInputElement {}" but got function "function HTMLInputElement() {
-    [native code]
-}"
-PASS ins: Define a customized built-in element 
-FAIL ins: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL ins: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLModElement {}" but got function "function HTMLModElement() {
-    [native code]
-}"
-FAIL ins: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLModElement {}" but got function "function HTMLModElement() {
-    [native code]
-}"
+FAIL iframe: Define a customized built-in element The superclass is not a constructor.
+FAIL img: Define a customized built-in element The superclass is not a constructor.
+FAIL input: Define a customized built-in element The superclass is not a constructor.
+FAIL ins: Define a customized built-in element The superclass is not a constructor.
 PASS kbd: Define a customized built-in element 
 PASS kbd: Operator 'new' should instantiate a customized built-in element 
 FAIL kbd: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -415,38 +191,10 @@ FAIL kbd: document.createElement() should instantiate a customized built-in elem
 FAIL kbd: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS label: Define a customized built-in element 
-FAIL label: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL label: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLLabelElement {}" but got function "function HTMLLabelElement() {
-    [native code]
-}"
-FAIL label: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLLabelElement {}" but got function "function HTMLLabelElement() {
-    [native code]
-}"
-PASS legend: Define a customized built-in element 
-FAIL legend: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL legend: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLLegendElement {}" but got function "function HTMLLegendElement() {
-    [native code]
-}"
-FAIL legend: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLLegendElement {}" but got function "function HTMLLegendElement() {
-    [native code]
-}"
-PASS li: Define a customized built-in element 
-FAIL li: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL li: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLLIElement {}" but got function "function HTMLLIElement() {
-    [native code]
-}"
-FAIL li: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLLIElement {}" but got function "function HTMLLIElement() {
-    [native code]
-}"
-PASS link: Define a customized built-in element 
-FAIL link: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL link: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLLinkElement {}" but got function "function HTMLLinkElement() {
-    [native code]
-}"
-FAIL link: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLLinkElement {}" but got function "function HTMLLinkElement() {
-    [native code]
-}"
+FAIL label: Define a customized built-in element The superclass is not a constructor.
+FAIL legend: Define a customized built-in element The superclass is not a constructor.
+FAIL li: Define a customized built-in element The superclass is not a constructor.
+FAIL link: Define a customized built-in element The superclass is not a constructor.
 PASS main: Define a customized built-in element 
 PASS main: Operator 'new' should instantiate a customized built-in element 
 FAIL main: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -455,14 +203,7 @@ FAIL main: document.createElement() should instantiate a customized built-in ele
 FAIL main: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS map: Define a customized built-in element 
-FAIL map: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL map: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLMapElement {}" but got function "function HTMLMapElement() {
-    [native code]
-}"
-FAIL map: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLMapElement {}" but got function "function HTMLMapElement() {
-    [native code]
-}"
+FAIL map: Define a customized built-in element The superclass is not a constructor.
 PASS mark: Define a customized built-in element 
 PASS mark: Operator 'new' should instantiate a customized built-in element 
 FAIL mark: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -471,30 +212,9 @@ FAIL mark: document.createElement() should instantiate a customized built-in ele
 FAIL mark: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS menu: Define a customized built-in element 
-FAIL menu: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL menu: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLMenuElement {}" but got function "function HTMLMenuElement() {
-    [native code]
-}"
-FAIL menu: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLMenuElement {}" but got function "function HTMLMenuElement() {
-    [native code]
-}"
-PASS meta: Define a customized built-in element 
-FAIL meta: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL meta: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLMetaElement {}" but got function "function HTMLMetaElement() {
-    [native code]
-}"
-FAIL meta: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLMetaElement {}" but got function "function HTMLMetaElement() {
-    [native code]
-}"
-PASS meter: Define a customized built-in element 
-FAIL meter: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL meter: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLMeterElement {}" but got function "function HTMLMeterElement() {
-    [native code]
-}"
-FAIL meter: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLMeterElement {}" but got function "function HTMLMeterElement() {
-    [native code]
-}"
+FAIL menu: Define a customized built-in element The superclass is not a constructor.
+FAIL meta: Define a customized built-in element The superclass is not a constructor.
+FAIL meter: Define a customized built-in element The superclass is not a constructor.
 PASS nav: Define a customized built-in element 
 PASS nav: Operator 'new' should instantiate a customized built-in element 
 FAIL nav: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -511,94 +231,17 @@ FAIL noscript: document.createElement() should instantiate a customized built-in
 FAIL noscript: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS object: Define a customized built-in element 
-FAIL object: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL object: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLObjectElement {}" but got function "function HTMLObjectElement() {
-    [native code]
-}"
-FAIL object: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLObjectElement {}" but got function "function HTMLObjectElement() {
-    [native code]
-}"
-PASS ol: Define a customized built-in element 
-FAIL ol: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL ol: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLOListElement {}" but got function "function HTMLOListElement() {
-    [native code]
-}"
-FAIL ol: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLOListElement {}" but got function "function HTMLOListElement() {
-    [native code]
-}"
-PASS optgroup: Define a customized built-in element 
-FAIL optgroup: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL optgroup: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLOptGroupElement {}" but got function "function HTMLOptGroupElement() {
-    [native code]
-}"
-FAIL optgroup: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLOptGroupElement {}" but got function "function HTMLOptGroupElement() {
-    [native code]
-}"
-PASS option: Define a customized built-in element 
-FAIL option: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL option: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLOptionElement {}" but got function "function HTMLOptionElement() {
-    [native code]
-}"
-FAIL option: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLOptionElement {}" but got function "function HTMLOptionElement() {
-    [native code]
-}"
-PASS output: Define a customized built-in element 
-FAIL output: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL output: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLOutputElement {}" but got function "function HTMLOutputElement() {
-    [native code]
-}"
-FAIL output: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLOutputElement {}" but got function "function HTMLOutputElement() {
-    [native code]
-}"
-PASS p: Define a customized built-in element 
-FAIL p: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL p: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLParagraphElement {}" but got function "function HTMLParagraphElement() {
-    [native code]
-}"
-FAIL p: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLParagraphElement {}" but got function "function HTMLParagraphElement() {
-    [native code]
-}"
-PASS param: Define a customized built-in element 
-FAIL param: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL param: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLParamElement {}" but got function "function HTMLParamElement() {
-    [native code]
-}"
-FAIL param: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLParamElement {}" but got function "function HTMLParamElement() {
-    [native code]
-}"
-PASS picture: Define a customized built-in element 
-FAIL picture: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL picture: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLPictureElement {}" but got function "function HTMLPictureElement() {
-    [native code]
-}"
-FAIL picture: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLPictureElement {}" but got function "function HTMLPictureElement() {
-    [native code]
-}"
-PASS pre: Define a customized built-in element 
-FAIL pre: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL pre: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLPreElement {}" but got function "function HTMLPreElement() {
-    [native code]
-}"
-FAIL pre: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLPreElement {}" but got function "function HTMLPreElement() {
-    [native code]
-}"
-PASS progress: Define a customized built-in element 
-FAIL progress: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL progress: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLProgressElement {}" but got function "function HTMLProgressElement() {
-    [native code]
-}"
-FAIL progress: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLProgressElement {}" but got function "function HTMLProgressElement() {
-    [native code]
-}"
-PASS q: Define a customized built-in element 
-FAIL q: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL q: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLQuoteElement {}" but got function "function HTMLQuoteElement() {
-    [native code]
-}"
-FAIL q: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLQuoteElement {}" but got function "function HTMLQuoteElement() {
-    [native code]
-}"
+FAIL object: Define a customized built-in element The superclass is not a constructor.
+FAIL ol: Define a customized built-in element The superclass is not a constructor.
+FAIL optgroup: Define a customized built-in element The superclass is not a constructor.
+FAIL option: Define a customized built-in element The superclass is not a constructor.
+FAIL output: Define a customized built-in element The superclass is not a constructor.
+FAIL p: Define a customized built-in element The superclass is not a constructor.
+FAIL param: Define a customized built-in element The superclass is not a constructor.
+FAIL picture: Define a customized built-in element The superclass is not a constructor.
+FAIL pre: Define a customized built-in element The superclass is not a constructor.
+FAIL progress: Define a customized built-in element The superclass is not a constructor.
+FAIL q: Define a customized built-in element The superclass is not a constructor.
 PASS rp: Define a customized built-in element 
 PASS rp: Operator 'new' should instantiate a customized built-in element 
 FAIL rp: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -639,14 +282,7 @@ FAIL samp: document.createElement() should instantiate a customized built-in ele
 FAIL samp: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS script: Define a customized built-in element 
-FAIL script: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL script: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLScriptElement {}" but got function "function HTMLScriptElement() {
-    [native code]
-}"
-FAIL script: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLScriptElement {}" but got function "function HTMLScriptElement() {
-    [native code]
-}"
+FAIL script: Define a customized built-in element The superclass is not a constructor.
 PASS section: Define a customized built-in element 
 PASS section: Operator 'new' should instantiate a customized built-in element 
 FAIL section: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -655,14 +291,7 @@ FAIL section: document.createElement() should instantiate a customized built-in
 FAIL section: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS select: Define a customized built-in element 
-FAIL select: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL select: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLSelectElement {}" but got function "function HTMLSelectElement() {
-    [native code]
-}"
-FAIL select: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLSelectElement {}" but got function "function HTMLSelectElement() {
-    [native code]
-}"
+FAIL select: Define a customized built-in element The superclass is not a constructor.
 PASS small: Define a customized built-in element 
 PASS small: Operator 'new' should instantiate a customized built-in element 
 FAIL small: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -671,22 +300,8 @@ FAIL small: document.createElement() should instantiate a customized built-in el
 FAIL small: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS source: Define a customized built-in element 
-FAIL source: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL source: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLSourceElement {}" but got function "function HTMLSourceElement() {
-    [native code]
-}"
-FAIL source: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLSourceElement {}" but got function "function HTMLSourceElement() {
-    [native code]
-}"
-PASS span: Define a customized built-in element 
-FAIL span: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL span: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLSpanElement {}" but got function "function HTMLSpanElement() {
-    [native code]
-}"
-FAIL span: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLSpanElement {}" but got function "function HTMLSpanElement() {
-    [native code]
-}"
+FAIL source: Define a customized built-in element The superclass is not a constructor.
+FAIL span: Define a customized built-in element The superclass is not a constructor.
 PASS strong: Define a customized built-in element 
 PASS strong: Operator 'new' should instantiate a customized built-in element 
 FAIL strong: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -695,14 +310,7 @@ FAIL strong: document.createElement() should instantiate a customized built-in e
 FAIL strong: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS style: Define a customized built-in element 
-FAIL style: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL style: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLStyleElement {}" but got function "function HTMLStyleElement() {
-    [native code]
-}"
-FAIL style: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLStyleElement {}" but got function "function HTMLStyleElement() {
-    [native code]
-}"
+FAIL style: Define a customized built-in element The superclass is not a constructor.
 PASS sub: Define a customized built-in element 
 PASS sub: Operator 'new' should instantiate a customized built-in element 
 FAIL sub: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -727,102 +335,18 @@ FAIL sup: document.createElement() should instantiate a customized built-in elem
 FAIL sup: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS table: Define a customized built-in element 
-FAIL table: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL table: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableElement {}" but got function "function HTMLTableElement() {
-    [native code]
-}"
-FAIL table: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableElement {}" but got function "function HTMLTableElement() {
-    [native code]
-}"
-PASS tbody: Define a customized built-in element 
-FAIL tbody: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL tbody: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableSectionElement {}" but got function "function HTMLTableSectionElement() {
-    [native code]
-}"
-FAIL tbody: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableSectionElement {}" but got function "function HTMLTableSectionElement() {
-    [native code]
-}"
-PASS td: Define a customized built-in element 
-FAIL td: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL td: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableCellElement {}" but got function "function HTMLTableCellElement() {
-    [native code]
-}"
-FAIL td: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableCellElement {}" but got function "function HTMLTableCellElement() {
-    [native code]
-}"
-PASS template: Define a customized built-in element 
-FAIL template: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL template: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTemplateElement {}" but got function "function HTMLTemplateElement() {
-    [native code]
-}"
-FAIL template: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTemplateElement {}" but got function "function HTMLTemplateElement() {
-    [native code]
-}"
-PASS textarea: Define a customized built-in element 
-FAIL textarea: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL textarea: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTextAreaElement {}" but got function "function HTMLTextAreaElement() {
-    [native code]
-}"
-FAIL textarea: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTextAreaElement {}" but got function "function HTMLTextAreaElement() {
-    [native code]
-}"
-PASS tfoot: Define a customized built-in element 
-FAIL tfoot: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL tfoot: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableSectionElement {}" but got function "function HTMLTableSectionElement() {
-    [native code]
-}"
-FAIL tfoot: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableSectionElement {}" but got function "function HTMLTableSectionElement() {
-    [native code]
-}"
-PASS th: Define a customized built-in element 
-FAIL th: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL th: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableCellElement {}" but got function "function HTMLTableCellElement() {
-    [native code]
-}"
-FAIL th: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableCellElement {}" but got function "function HTMLTableCellElement() {
-    [native code]
-}"
-PASS thead: Define a customized built-in element 
-FAIL thead: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL thead: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableSectionElement {}" but got function "function HTMLTableSectionElement() {
-    [native code]
-}"
-FAIL thead: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableSectionElement {}" but got function "function HTMLTableSectionElement() {
-    [native code]
-}"
-PASS time: Define a customized built-in element 
-FAIL time: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL time: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTimeElement {}" but got function "function HTMLTimeElement() {
-    [native code]
-}"
-FAIL time: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTimeElement {}" but got function "function HTMLTimeElement() {
-    [native code]
-}"
-PASS title: Define a customized built-in element 
-FAIL title: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL title: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTitleElement {}" but got function "function HTMLTitleElement() {
-    [native code]
-}"
-FAIL title: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTitleElement {}" but got function "function HTMLTitleElement() {
-    [native code]
-}"
-PASS tr: Define a customized built-in element 
-FAIL tr: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL tr: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableRowElement {}" but got function "function HTMLTableRowElement() {
-    [native code]
-}"
-FAIL tr: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableRowElement {}" but got function "function HTMLTableRowElement() {
-    [native code]
-}"
-PASS track: Define a customized built-in element 
-FAIL track: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL track: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTrackElement {}" but got function "function HTMLTrackElement() {
-    [native code]
-}"
-FAIL track: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTrackElement {}" but got function "function HTMLTrackElement() {
-    [native code]
-}"
+FAIL table: Define a customized built-in element The superclass is not a constructor.
+FAIL tbody: Define a customized built-in element The superclass is not a constructor.
+FAIL td: Define a customized built-in element The superclass is not a constructor.
+FAIL template: Define a customized built-in element The superclass is not a constructor.
+FAIL textarea: Define a customized built-in element The superclass is not a constructor.
+FAIL tfoot: Define a customized built-in element The superclass is not a constructor.
+FAIL th: Define a customized built-in element The superclass is not a constructor.
+FAIL thead: Define a customized built-in element The superclass is not a constructor.
+FAIL time: Define a customized built-in element The superclass is not a constructor.
+FAIL title: Define a customized built-in element The superclass is not a constructor.
+FAIL tr: Define a customized built-in element The superclass is not a constructor.
+FAIL track: Define a customized built-in element The superclass is not a constructor.
 PASS u: Define a customized built-in element 
 PASS u: Operator 'new' should instantiate a customized built-in element 
 FAIL u: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -831,14 +355,7 @@ FAIL u: document.createElement() should instantiate a customized built-in elemen
 FAIL u: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS ul: Define a customized built-in element 
-FAIL ul: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL ul: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLUListElement {}" but got function "function HTMLUListElement() {
-    [native code]
-}"
-FAIL ul: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLUListElement {}" but got function "function HTMLUListElement() {
-    [native code]
-}"
+FAIL ul: Define a customized built-in element The superclass is not a constructor.
 PASS var: Define a customized built-in element 
 PASS var: Operator 'new' should instantiate a customized built-in element 
 FAIL var: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -847,14 +364,7 @@ FAIL var: document.createElement() should instantiate a customized built-in elem
 FAIL var: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS video: Define a customized built-in element 
-FAIL video: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL video: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLVideoElement {}" but got function "function HTMLVideoElement() {
-    [native code]
-}"
-FAIL video: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLVideoElement {}" but got function "function HTMLVideoElement() {
-    [native code]
-}"
+FAIL video: Define a customized built-in element The superclass is not a constructor.
 PASS wbr: Define a customized built-in element 
 PASS wbr: Operator 'new' should instantiate a customized built-in element 
 FAIL wbr: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -863,28 +373,7 @@ FAIL wbr: document.createElement() should instantiate a customized built-in elem
 FAIL wbr: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS datalist: Define a customized built-in element 
-FAIL datalist: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL datalist: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLDataListElement {}" but got function "function HTMLDataListElement() {
-    [native code]
-}"
-FAIL datalist: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLDataListElement {}" but got function "function HTMLDataListElement() {
-    [native code]
-}"
-PASS dialog: Define a customized built-in element 
-FAIL dialog: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL dialog: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLDialogElement {}" but got function "function HTMLDialogElement() {
-    [native code]
-}"
-FAIL dialog: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLDialogElement {}" but got function "function HTMLDialogElement() {
-    [native code]
-}"
-PASS slot: Define a customized built-in element 
-FAIL slot: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL slot: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLSlotElement {}" but got function "function HTMLSlotElement() {
-    [native code]
-}"
-FAIL slot: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLSlotElement {}" but got function "function HTMLSlotElement() {
-    [native code]
-}"
+FAIL datalist: Define a customized built-in element The superclass is not a constructor.
+FAIL dialog: Define a customized built-in element The superclass is not a constructor.
+FAIL slot: Define a customized built-in element The superclass is not a constructor.
 
index 1b94db6..5aa07f8 100644 (file)
@@ -1,12 +1,5 @@
 
-PASS a: Define a customized built-in element 
-FAIL a: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL a: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLAnchorElement {}" but got function "function HTMLAnchorElement() {
-    [native code]
-}"
-FAIL a: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLAnchorElement {}" but got function "function HTMLAnchorElement() {
-    [native code]
-}"
+FAIL a: Define a customized built-in element The superclass is not a constructor.
 PASS abbr: Define a customized built-in element 
 PASS abbr: Operator 'new' should instantiate a customized built-in element 
 FAIL abbr: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -23,14 +16,7 @@ FAIL address: document.createElement() should instantiate a customized built-in
 FAIL address: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS area: Define a customized built-in element 
-FAIL area: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL area: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLAreaElement {}" but got function "function HTMLAreaElement() {
-    [native code]
-}"
-FAIL area: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLAreaElement {}" but got function "function HTMLAreaElement() {
-    [native code]
-}"
+FAIL area: Define a customized built-in element The superclass is not a constructor.
 PASS article: Define a customized built-in element 
 PASS article: Operator 'new' should instantiate a customized built-in element 
 FAIL article: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -47,14 +33,7 @@ FAIL aside: document.createElement() should instantiate a customized built-in el
 FAIL aside: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS audio: Define a customized built-in element 
-FAIL audio: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL audio: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLAudioElement {}" but got function "function HTMLAudioElement() {
-    [native code]
-}"
-FAIL audio: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLAudioElement {}" but got function "function HTMLAudioElement() {
-    [native code]
-}"
+FAIL audio: Define a customized built-in element The superclass is not a constructor.
 PASS b: Define a customized built-in element 
 PASS b: Operator 'new' should instantiate a customized built-in element 
 FAIL b: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -63,14 +42,7 @@ FAIL b: document.createElement() should instantiate a customized built-in elemen
 FAIL b: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS base: Define a customized built-in element 
-FAIL base: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL base: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLBaseElement {}" but got function "function HTMLBaseElement() {
-    [native code]
-}"
-FAIL base: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLBaseElement {}" but got function "function HTMLBaseElement() {
-    [native code]
-}"
+FAIL base: Define a customized built-in element The superclass is not a constructor.
 PASS bdi: Define a customized built-in element 
 PASS bdi: Operator 'new' should instantiate a customized built-in element 
 FAIL bdi: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -87,54 +59,12 @@ FAIL bdo: document.createElement() should instantiate a customized built-in elem
 FAIL bdo: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS blockquote: Define a customized built-in element 
-FAIL blockquote: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL blockquote: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLQuoteElement {}" but got function "function HTMLQuoteElement() {
-    [native code]
-}"
-FAIL blockquote: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLQuoteElement {}" but got function "function HTMLQuoteElement() {
-    [native code]
-}"
-PASS body: Define a customized built-in element 
-FAIL body: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL body: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLBodyElement {}" but got function "function HTMLBodyElement() {
-    [native code]
-}"
-FAIL body: document parser should instantiate a customized built-in element assert_equals: expected function "class extends HTMLBodyElement {}" but got function "function HTMLBodyElement() {
-    [native code]
-}"
-PASS br: Define a customized built-in element 
-FAIL br: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL br: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLBRElement {}" but got function "function HTMLBRElement() {
-    [native code]
-}"
-FAIL br: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLBRElement {}" but got function "function HTMLBRElement() {
-    [native code]
-}"
-PASS button: Define a customized built-in element 
-FAIL button: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL button: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLButtonElement {}" but got function "function HTMLButtonElement() {
-    [native code]
-}"
-FAIL button: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLButtonElement {}" but got function "function HTMLButtonElement() {
-    [native code]
-}"
-PASS canvas: Define a customized built-in element 
-FAIL canvas: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL canvas: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLCanvasElement {}" but got function "function HTMLCanvasElement() {
-    [native code]
-}"
-FAIL canvas: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLCanvasElement {}" but got function "function HTMLCanvasElement() {
-    [native code]
-}"
-PASS caption: Define a customized built-in element 
-FAIL caption: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL caption: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableCaptionElement {}" but got function "function HTMLTableCaptionElement() {
-    [native code]
-}"
-FAIL caption: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableCaptionElement {}" but got function "function HTMLTableCaptionElement() {
-    [native code]
-}"
+FAIL blockquote: Define a customized built-in element The superclass is not a constructor.
+FAIL body: Define a customized built-in element The superclass is not a constructor.
+FAIL br: Define a customized built-in element The superclass is not a constructor.
+FAIL button: Define a customized built-in element The superclass is not a constructor.
+FAIL canvas: Define a customized built-in element The superclass is not a constructor.
+FAIL caption: Define a customized built-in element The superclass is not a constructor.
 PASS cite: Define a customized built-in element 
 PASS cite: Operator 'new' should instantiate a customized built-in element 
 FAIL cite: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -151,30 +81,9 @@ FAIL code: document.createElement() should instantiate a customized built-in ele
 FAIL code: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS col: Define a customized built-in element 
-FAIL col: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL col: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableColElement {}" but got function "function HTMLTableColElement() {
-    [native code]
-}"
-FAIL col: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableColElement {}" but got function "function HTMLTableColElement() {
-    [native code]
-}"
-PASS colgroup: Define a customized built-in element 
-FAIL colgroup: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL colgroup: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableColElement {}" but got function "function HTMLTableColElement() {
-    [native code]
-}"
-FAIL colgroup: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableColElement {}" but got function "function HTMLTableColElement() {
-    [native code]
-}"
-PASS data: Define a customized built-in element 
-FAIL data: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL data: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLDataElement {}" but got function "function HTMLDataElement() {
-    [native code]
-}"
-FAIL data: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLDataElement {}" but got function "function HTMLDataElement() {
-    [native code]
-}"
+FAIL col: Define a customized built-in element The superclass is not a constructor.
+FAIL colgroup: Define a customized built-in element The superclass is not a constructor.
+FAIL data: Define a customized built-in element The superclass is not a constructor.
 PASS dd: Define a customized built-in element 
 PASS dd: Operator 'new' should instantiate a customized built-in element 
 FAIL dd: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -183,22 +92,8 @@ FAIL dd: document.createElement() should instantiate a customized built-in eleme
 FAIL dd: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS del: Define a customized built-in element 
-FAIL del: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL del: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLModElement {}" but got function "function HTMLModElement() {
-    [native code]
-}"
-FAIL del: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLModElement {}" but got function "function HTMLModElement() {
-    [native code]
-}"
-PASS details: Define a customized built-in element 
-FAIL details: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL details: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLDetailsElement {}" but got function "function HTMLDetailsElement() {
-    [native code]
-}"
-FAIL details: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLDetailsElement {}" but got function "function HTMLDetailsElement() {
-    [native code]
-}"
+FAIL del: Define a customized built-in element The superclass is not a constructor.
+FAIL details: Define a customized built-in element The superclass is not a constructor.
 PASS dfn: Define a customized built-in element 
 PASS dfn: Operator 'new' should instantiate a customized built-in element 
 FAIL dfn: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -207,22 +102,8 @@ FAIL dfn: document.createElement() should instantiate a customized built-in elem
 FAIL dfn: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS div: Define a customized built-in element 
-FAIL div: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL div: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLDivElement {}" but got function "function HTMLDivElement() {
-    [native code]
-}"
-FAIL div: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLDivElement {}" but got function "function HTMLDivElement() {
-    [native code]
-}"
-PASS dl: Define a customized built-in element 
-FAIL dl: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL dl: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLDListElement {}" but got function "function HTMLDListElement() {
-    [native code]
-}"
-FAIL dl: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLDListElement {}" but got function "function HTMLDListElement() {
-    [native code]
-}"
+FAIL div: Define a customized built-in element The superclass is not a constructor.
+FAIL dl: Define a customized built-in element The superclass is not a constructor.
 PASS dt: Define a customized built-in element 
 PASS dt: Operator 'new' should instantiate a customized built-in element 
 FAIL dt: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -239,22 +120,8 @@ FAIL em: document.createElement() should instantiate a customized built-in eleme
 FAIL em: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS embed: Define a customized built-in element 
-FAIL embed: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL embed: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLEmbedElement {}" but got function "function HTMLEmbedElement() {
-    [native code]
-}"
-FAIL embed: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLEmbedElement {}" but got function "function HTMLEmbedElement() {
-    [native code]
-}"
-PASS fieldset: Define a customized built-in element 
-FAIL fieldset: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL fieldset: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLFieldSetElement {}" but got function "function HTMLFieldSetElement() {
-    [native code]
-}"
-FAIL fieldset: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLFieldSetElement {}" but got function "function HTMLFieldSetElement() {
-    [native code]
-}"
+FAIL embed: Define a customized built-in element The superclass is not a constructor.
+FAIL fieldset: Define a customized built-in element The superclass is not a constructor.
 PASS figcaption: Define a customized built-in element 
 PASS figcaption: Operator 'new' should instantiate a customized built-in element 
 FAIL figcaption: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -279,62 +146,13 @@ FAIL footer: document.createElement() should instantiate a customized built-in e
 FAIL footer: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS form: Define a customized built-in element 
-FAIL form: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL form: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLFormElement {}" but got function "function HTMLFormElement() {
-    [native code]
-}"
-FAIL form: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLFormElement {}" but got function "function HTMLFormElement() {
-    [native code]
-}"
-PASS h1: Define a customized built-in element 
-FAIL h1: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL h1: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHeadingElement {}" but got function "function HTMLHeadingElement() {
-    [native code]
-}"
-FAIL h1: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHeadingElement {}" but got function "function HTMLHeadingElement() {
-    [native code]
-}"
-PASS h2: Define a customized built-in element 
-FAIL h2: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL h2: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHeadingElement {}" but got function "function HTMLHeadingElement() {
-    [native code]
-}"
-FAIL h2: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHeadingElement {}" but got function "function HTMLHeadingElement() {
-    [native code]
-}"
-PASS h3: Define a customized built-in element 
-FAIL h3: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL h3: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHeadingElement {}" but got function "function HTMLHeadingElement() {
-    [native code]
-}"
-FAIL h3: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHeadingElement {}" but got function "function HTMLHeadingElement() {
-    [native code]
-}"
-PASS h4: Define a customized built-in element 
-FAIL h4: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL h4: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHeadingElement {}" but got function "function HTMLHeadingElement() {
-    [native code]
-}"
-FAIL h4: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHeadingElement {}" but got function "function HTMLHeadingElement() {
-    [native code]
-}"
-PASS h5: Define a customized built-in element 
-FAIL h5: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL h5: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHeadingElement {}" but got function "function HTMLHeadingElement() {
-    [native code]
-}"
-FAIL h5: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHeadingElement {}" but got function "function HTMLHeadingElement() {
-    [native code]
-}"
-PASS h6: Define a customized built-in element 
-FAIL h6: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL h6: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHeadingElement {}" but got function "function HTMLHeadingElement() {
-    [native code]
-}"
-FAIL h6: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHeadingElement {}" but got function "function HTMLHeadingElement() {
-    [native code]
-}"
+FAIL form: Define a customized built-in element The superclass is not a constructor.
+FAIL h1: Define a customized built-in element The superclass is not a constructor.
+FAIL h2: Define a customized built-in element The superclass is not a constructor.
+FAIL h3: Define a customized built-in element The superclass is not a constructor.
+FAIL h4: Define a customized built-in element The superclass is not a constructor.
+FAIL h5: Define a customized built-in element The superclass is not a constructor.
+FAIL h6: Define a customized built-in element The superclass is not a constructor.
 PASS header: Define a customized built-in element 
 PASS header: Operator 'new' should instantiate a customized built-in element 
 FAIL header: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -351,22 +169,8 @@ FAIL hgroup: document.createElement() should instantiate a customized built-in e
 FAIL hgroup: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS hr: Define a customized built-in element 
-FAIL hr: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL hr: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHRElement {}" but got function "function HTMLHRElement() {
-    [native code]
-}"
-FAIL hr: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHRElement {}" but got function "function HTMLHRElement() {
-    [native code]
-}"
-PASS html: Define a customized built-in element 
-FAIL html: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL html: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHtmlElement {}" but got function "function HTMLHtmlElement() {
-    [native code]
-}"
-FAIL html: document parser should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHtmlElement {}" but got function "function HTMLHtmlElement() {
-    [native code]
-}"
+FAIL hr: Define a customized built-in element The superclass is not a constructor.
+FAIL html: Define a customized built-in element The superclass is not a constructor.
 PASS i: Define a customized built-in element 
 PASS i: Operator 'new' should instantiate a customized built-in element 
 FAIL i: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -375,38 +179,10 @@ FAIL i: document.createElement() should instantiate a customized built-in elemen
 FAIL i: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS iframe: Define a customized built-in element 
-FAIL iframe: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL iframe: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLIFrameElement {}" but got function "function HTMLIFrameElement() {
-    [native code]
-}"
-FAIL iframe: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLIFrameElement {}" but got function "function HTMLIFrameElement() {
-    [native code]
-}"
-PASS img: Define a customized built-in element 
-FAIL img: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL img: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLImageElement {}" but got function "function HTMLImageElement() {
-    [native code]
-}"
-FAIL img: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLImageElement {}" but got function "function HTMLImageElement() {
-    [native code]
-}"
-PASS input: Define a customized built-in element 
-FAIL input: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL input: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLInputElement {}" but got function "function HTMLInputElement() {
-    [native code]
-}"
-FAIL input: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLInputElement {}" but got function "function HTMLInputElement() {
-    [native code]
-}"
-PASS ins: Define a customized built-in element 
-FAIL ins: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL ins: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLModElement {}" but got function "function HTMLModElement() {
-    [native code]
-}"
-FAIL ins: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLModElement {}" but got function "function HTMLModElement() {
-    [native code]
-}"
+FAIL iframe: Define a customized built-in element The superclass is not a constructor.
+FAIL img: Define a customized built-in element The superclass is not a constructor.
+FAIL input: Define a customized built-in element The superclass is not a constructor.
+FAIL ins: Define a customized built-in element The superclass is not a constructor.
 PASS kbd: Define a customized built-in element 
 PASS kbd: Operator 'new' should instantiate a customized built-in element 
 FAIL kbd: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -415,38 +191,10 @@ FAIL kbd: document.createElement() should instantiate a customized built-in elem
 FAIL kbd: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS label: Define a customized built-in element 
-FAIL label: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL label: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLLabelElement {}" but got function "function HTMLLabelElement() {
-    [native code]
-}"
-FAIL label: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLLabelElement {}" but got function "function HTMLLabelElement() {
-    [native code]
-}"
-PASS legend: Define a customized built-in element 
-FAIL legend: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL legend: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLLegendElement {}" but got function "function HTMLLegendElement() {
-    [native code]
-}"
-FAIL legend: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLLegendElement {}" but got function "function HTMLLegendElement() {
-    [native code]
-}"
-PASS li: Define a customized built-in element 
-FAIL li: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL li: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLLIElement {}" but got function "function HTMLLIElement() {
-    [native code]
-}"
-FAIL li: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLLIElement {}" but got function "function HTMLLIElement() {
-    [native code]
-}"
-PASS link: Define a customized built-in element 
-FAIL link: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL link: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLLinkElement {}" but got function "function HTMLLinkElement() {
-    [native code]
-}"
-FAIL link: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLLinkElement {}" but got function "function HTMLLinkElement() {
-    [native code]
-}"
+FAIL label: Define a customized built-in element The superclass is not a constructor.
+FAIL legend: Define a customized built-in element The superclass is not a constructor.
+FAIL li: Define a customized built-in element The superclass is not a constructor.
+FAIL link: Define a customized built-in element The superclass is not a constructor.
 PASS main: Define a customized built-in element 
 PASS main: Operator 'new' should instantiate a customized built-in element 
 FAIL main: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -455,14 +203,7 @@ FAIL main: document.createElement() should instantiate a customized built-in ele
 FAIL main: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS map: Define a customized built-in element 
-FAIL map: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL map: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLMapElement {}" but got function "function HTMLMapElement() {
-    [native code]
-}"
-FAIL map: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLMapElement {}" but got function "function HTMLMapElement() {
-    [native code]
-}"
+FAIL map: Define a customized built-in element The superclass is not a constructor.
 PASS mark: Define a customized built-in element 
 PASS mark: Operator 'new' should instantiate a customized built-in element 
 FAIL mark: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -471,30 +212,9 @@ FAIL mark: document.createElement() should instantiate a customized built-in ele
 FAIL mark: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS menu: Define a customized built-in element 
-FAIL menu: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL menu: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLMenuElement {}" but got function "function HTMLMenuElement() {
-    [native code]
-}"
-FAIL menu: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLMenuElement {}" but got function "function HTMLMenuElement() {
-    [native code]
-}"
-PASS meta: Define a customized built-in element 
-FAIL meta: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL meta: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLMetaElement {}" but got function "function HTMLMetaElement() {
-    [native code]
-}"
-FAIL meta: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLMetaElement {}" but got function "function HTMLMetaElement() {
-    [native code]
-}"
-PASS meter: Define a customized built-in element 
-FAIL meter: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL meter: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLMeterElement {}" but got function "function HTMLMeterElement() {
-    [native code]
-}"
-FAIL meter: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLMeterElement {}" but got function "function HTMLMeterElement() {
-    [native code]
-}"
+FAIL menu: Define a customized built-in element The superclass is not a constructor.
+FAIL meta: Define a customized built-in element The superclass is not a constructor.
+FAIL meter: Define a customized built-in element The superclass is not a constructor.
 PASS nav: Define a customized built-in element 
 PASS nav: Operator 'new' should instantiate a customized built-in element 
 FAIL nav: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -511,94 +231,17 @@ FAIL noscript: document.createElement() should instantiate a customized built-in
 FAIL noscript: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS object: Define a customized built-in element 
-FAIL object: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL object: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLObjectElement {}" but got function "function HTMLObjectElement() {
-    [native code]
-}"
-FAIL object: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLObjectElement {}" but got function "function HTMLObjectElement() {
-    [native code]
-}"
-PASS ol: Define a customized built-in element 
-FAIL ol: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL ol: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLOListElement {}" but got function "function HTMLOListElement() {
-    [native code]
-}"
-FAIL ol: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLOListElement {}" but got function "function HTMLOListElement() {
-    [native code]
-}"
-PASS optgroup: Define a customized built-in element 
-FAIL optgroup: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL optgroup: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLOptGroupElement {}" but got function "function HTMLOptGroupElement() {
-    [native code]
-}"
-FAIL optgroup: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLOptGroupElement {}" but got function "function HTMLOptGroupElement() {
-    [native code]
-}"
-PASS option: Define a customized built-in element 
-FAIL option: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL option: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLOptionElement {}" but got function "function HTMLOptionElement() {
-    [native code]
-}"
-FAIL option: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLOptionElement {}" but got function "function HTMLOptionElement() {
-    [native code]
-}"
-PASS output: Define a customized built-in element 
-FAIL output: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL output: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLOutputElement {}" but got function "function HTMLOutputElement() {
-    [native code]
-}"
-FAIL output: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLOutputElement {}" but got function "function HTMLOutputElement() {
-    [native code]
-}"
-PASS p: Define a customized built-in element 
-FAIL p: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL p: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLParagraphElement {}" but got function "function HTMLParagraphElement() {
-    [native code]
-}"
-FAIL p: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLParagraphElement {}" but got function "function HTMLParagraphElement() {
-    [native code]
-}"
-PASS param: Define a customized built-in element 
-FAIL param: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL param: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLParamElement {}" but got function "function HTMLParamElement() {
-    [native code]
-}"
-FAIL param: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLParamElement {}" but got function "function HTMLParamElement() {
-    [native code]
-}"
-PASS picture: Define a customized built-in element 
-FAIL picture: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL picture: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLPictureElement {}" but got function "function HTMLPictureElement() {
-    [native code]
-}"
-FAIL picture: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLPictureElement {}" but got function "function HTMLPictureElement() {
-    [native code]
-}"
-PASS pre: Define a customized built-in element 
-FAIL pre: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL pre: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLPreElement {}" but got function "function HTMLPreElement() {
-    [native code]
-}"
-FAIL pre: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLPreElement {}" but got function "function HTMLPreElement() {
-    [native code]
-}"
-PASS progress: Define a customized built-in element 
-FAIL progress: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL progress: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLProgressElement {}" but got function "function HTMLProgressElement() {
-    [native code]
-}"
-FAIL progress: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLProgressElement {}" but got function "function HTMLProgressElement() {
-    [native code]
-}"
-PASS q: Define a customized built-in element 
-FAIL q: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL q: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLQuoteElement {}" but got function "function HTMLQuoteElement() {
-    [native code]
-}"
-FAIL q: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLQuoteElement {}" but got function "function HTMLQuoteElement() {
-    [native code]
-}"
+FAIL object: Define a customized built-in element The superclass is not a constructor.
+FAIL ol: Define a customized built-in element The superclass is not a constructor.
+FAIL optgroup: Define a customized built-in element The superclass is not a constructor.
+FAIL option: Define a customized built-in element The superclass is not a constructor.
+FAIL output: Define a customized built-in element The superclass is not a constructor.
+FAIL p: Define a customized built-in element The superclass is not a constructor.
+FAIL param: Define a customized built-in element The superclass is not a constructor.
+FAIL picture: Define a customized built-in element The superclass is not a constructor.
+FAIL pre: Define a customized built-in element The superclass is not a constructor.
+FAIL progress: Define a customized built-in element The superclass is not a constructor.
+FAIL q: Define a customized built-in element The superclass is not a constructor.
 PASS rp: Define a customized built-in element 
 PASS rp: Operator 'new' should instantiate a customized built-in element 
 FAIL rp: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -639,14 +282,7 @@ FAIL samp: document.createElement() should instantiate a customized built-in ele
 FAIL samp: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS script: Define a customized built-in element 
-FAIL script: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL script: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLScriptElement {}" but got function "function HTMLScriptElement() {
-    [native code]
-}"
-FAIL script: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLScriptElement {}" but got function "function HTMLScriptElement() {
-    [native code]
-}"
+FAIL script: Define a customized built-in element The superclass is not a constructor.
 PASS section: Define a customized built-in element 
 PASS section: Operator 'new' should instantiate a customized built-in element 
 FAIL section: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -655,14 +291,7 @@ FAIL section: document.createElement() should instantiate a customized built-in
 FAIL section: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS select: Define a customized built-in element 
-FAIL select: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL select: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLSelectElement {}" but got function "function HTMLSelectElement() {
-    [native code]
-}"
-FAIL select: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLSelectElement {}" but got function "function HTMLSelectElement() {
-    [native code]
-}"
+FAIL select: Define a customized built-in element The superclass is not a constructor.
 PASS small: Define a customized built-in element 
 PASS small: Operator 'new' should instantiate a customized built-in element 
 FAIL small: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -671,22 +300,8 @@ FAIL small: document.createElement() should instantiate a customized built-in el
 FAIL small: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS source: Define a customized built-in element 
-FAIL source: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL source: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLSourceElement {}" but got function "function HTMLSourceElement() {
-    [native code]
-}"
-FAIL source: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLSourceElement {}" but got function "function HTMLSourceElement() {
-    [native code]
-}"
-PASS span: Define a customized built-in element 
-FAIL span: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL span: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLSpanElement {}" but got function "function HTMLSpanElement() {
-    [native code]
-}"
-FAIL span: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLSpanElement {}" but got function "function HTMLSpanElement() {
-    [native code]
-}"
+FAIL source: Define a customized built-in element The superclass is not a constructor.
+FAIL span: Define a customized built-in element The superclass is not a constructor.
 PASS strong: Define a customized built-in element 
 PASS strong: Operator 'new' should instantiate a customized built-in element 
 FAIL strong: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -695,14 +310,7 @@ FAIL strong: document.createElement() should instantiate a customized built-in e
 FAIL strong: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS style: Define a customized built-in element 
-FAIL style: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL style: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLStyleElement {}" but got function "function HTMLStyleElement() {
-    [native code]
-}"
-FAIL style: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLStyleElement {}" but got function "function HTMLStyleElement() {
-    [native code]
-}"
+FAIL style: Define a customized built-in element The superclass is not a constructor.
 PASS sub: Define a customized built-in element 
 PASS sub: Operator 'new' should instantiate a customized built-in element 
 FAIL sub: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -727,102 +335,18 @@ FAIL sup: document.createElement() should instantiate a customized built-in elem
 FAIL sup: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS table: Define a customized built-in element 
-FAIL table: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL table: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableElement {}" but got function "function HTMLTableElement() {
-    [native code]
-}"
-FAIL table: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableElement {}" but got function "function HTMLTableElement() {
-    [native code]
-}"
-PASS tbody: Define a customized built-in element 
-FAIL tbody: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL tbody: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableSectionElement {}" but got function "function HTMLTableSectionElement() {
-    [native code]
-}"
-FAIL tbody: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableSectionElement {}" but got function "function HTMLTableSectionElement() {
-    [native code]
-}"
-PASS td: Define a customized built-in element 
-FAIL td: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL td: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableCellElement {}" but got function "function HTMLTableCellElement() {
-    [native code]
-}"
-FAIL td: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableCellElement {}" but got function "function HTMLTableCellElement() {
-    [native code]
-}"
-PASS template: Define a customized built-in element 
-FAIL template: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL template: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTemplateElement {}" but got function "function HTMLTemplateElement() {
-    [native code]
-}"
-FAIL template: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTemplateElement {}" but got function "function HTMLTemplateElement() {
-    [native code]
-}"
-PASS textarea: Define a customized built-in element 
-FAIL textarea: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL textarea: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTextAreaElement {}" but got function "function HTMLTextAreaElement() {
-    [native code]
-}"
-FAIL textarea: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTextAreaElement {}" but got function "function HTMLTextAreaElement() {
-    [native code]
-}"
-PASS tfoot: Define a customized built-in element 
-FAIL tfoot: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL tfoot: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableSectionElement {}" but got function "function HTMLTableSectionElement() {
-    [native code]
-}"
-FAIL tfoot: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableSectionElement {}" but got function "function HTMLTableSectionElement() {
-    [native code]
-}"
-PASS th: Define a customized built-in element 
-FAIL th: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL th: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableCellElement {}" but got function "function HTMLTableCellElement() {
-    [native code]
-}"
-FAIL th: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableCellElement {}" but got function "function HTMLTableCellElement() {
-    [native code]
-}"
-PASS thead: Define a customized built-in element 
-FAIL thead: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL thead: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableSectionElement {}" but got function "function HTMLTableSectionElement() {
-    [native code]
-}"
-FAIL thead: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableSectionElement {}" but got function "function HTMLTableSectionElement() {
-    [native code]
-}"
-PASS time: Define a customized built-in element 
-FAIL time: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL time: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTimeElement {}" but got function "function HTMLTimeElement() {
-    [native code]
-}"
-FAIL time: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTimeElement {}" but got function "function HTMLTimeElement() {
-    [native code]
-}"
-PASS title: Define a customized built-in element 
-FAIL title: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL title: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTitleElement {}" but got function "function HTMLTitleElement() {
-    [native code]
-}"
-FAIL title: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTitleElement {}" but got function "function HTMLTitleElement() {
-    [native code]
-}"
-PASS tr: Define a customized built-in element 
-FAIL tr: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL tr: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableRowElement {}" but got function "function HTMLTableRowElement() {
-    [native code]
-}"
-FAIL tr: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableRowElement {}" but got function "function HTMLTableRowElement() {
-    [native code]
-}"
-PASS track: Define a customized built-in element 
-FAIL track: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL track: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTrackElement {}" but got function "function HTMLTrackElement() {
-    [native code]
-}"
-FAIL track: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTrackElement {}" but got function "function HTMLTrackElement() {
-    [native code]
-}"
+FAIL table: Define a customized built-in element The superclass is not a constructor.
+FAIL tbody: Define a customized built-in element The superclass is not a constructor.
+FAIL td: Define a customized built-in element The superclass is not a constructor.
+FAIL template: Define a customized built-in element The superclass is not a constructor.
+FAIL textarea: Define a customized built-in element The superclass is not a constructor.
+FAIL tfoot: Define a customized built-in element The superclass is not a constructor.
+FAIL th: Define a customized built-in element The superclass is not a constructor.
+FAIL thead: Define a customized built-in element The superclass is not a constructor.
+FAIL time: Define a customized built-in element The superclass is not a constructor.
+FAIL title: Define a customized built-in element The superclass is not a constructor.
+FAIL tr: Define a customized built-in element The superclass is not a constructor.
+FAIL track: Define a customized built-in element The superclass is not a constructor.
 PASS u: Define a customized built-in element 
 PASS u: Operator 'new' should instantiate a customized built-in element 
 FAIL u: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -831,14 +355,7 @@ FAIL u: document.createElement() should instantiate a customized built-in elemen
 FAIL u: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS ul: Define a customized built-in element 
-FAIL ul: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL ul: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLUListElement {}" but got function "function HTMLUListElement() {
-    [native code]
-}"
-FAIL ul: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLUListElement {}" but got function "function HTMLUListElement() {
-    [native code]
-}"
+FAIL ul: Define a customized built-in element The superclass is not a constructor.
 PASS var: Define a customized built-in element 
 PASS var: Operator 'new' should instantiate a customized built-in element 
 FAIL var: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -847,14 +364,7 @@ FAIL var: document.createElement() should instantiate a customized built-in elem
 FAIL var: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS video: Define a customized built-in element 
-FAIL video: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL video: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLVideoElement {}" but got function "function HTMLVideoElement() {
-    [native code]
-}"
-FAIL video: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLVideoElement {}" but got function "function HTMLVideoElement() {
-    [native code]
-}"
+FAIL video: Define a customized built-in element The superclass is not a constructor.
 PASS wbr: Define a customized built-in element 
 PASS wbr: Operator 'new' should instantiate a customized built-in element 
 FAIL wbr: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -863,28 +373,7 @@ FAIL wbr: document.createElement() should instantiate a customized built-in elem
 FAIL wbr: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS datalist: Define a customized built-in element 
-FAIL datalist: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL datalist: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLDataListElement {}" but got function "function HTMLDataListElement() {
-    [native code]
-}"
-FAIL datalist: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLDataListElement {}" but got function "function HTMLDataListElement() {
-    [native code]
-}"
-PASS dialog: Define a customized built-in element 
-FAIL dialog: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL dialog: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLDialogElement {}" but got function "function HTMLDialogElement() {
-    [native code]
-}"
-FAIL dialog: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLDialogElement {}" but got function "function HTMLDialogElement() {
-    [native code]
-}"
-PASS slot: Define a customized built-in element 
-FAIL slot: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL slot: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLSlotElement {}" but got function "function HTMLSlotElement() {
-    [native code]
-}"
-FAIL slot: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLSlotElement {}" but got function "function HTMLSlotElement() {
-    [native code]
-}"
+FAIL datalist: Define a customized built-in element The superclass is not a constructor.
+FAIL dialog: Define a customized built-in element The superclass is not a constructor.
+FAIL slot: Define a customized built-in element The superclass is not a constructor.
 
index 1b94db6..5aa07f8 100644 (file)
@@ -1,12 +1,5 @@
 
-PASS a: Define a customized built-in element 
-FAIL a: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL a: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLAnchorElement {}" but got function "function HTMLAnchorElement() {
-    [native code]
-}"
-FAIL a: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLAnchorElement {}" but got function "function HTMLAnchorElement() {
-    [native code]
-}"
+FAIL a: Define a customized built-in element The superclass is not a constructor.
 PASS abbr: Define a customized built-in element 
 PASS abbr: Operator 'new' should instantiate a customized built-in element 
 FAIL abbr: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -23,14 +16,7 @@ FAIL address: document.createElement() should instantiate a customized built-in
 FAIL address: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS area: Define a customized built-in element 
-FAIL area: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL area: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLAreaElement {}" but got function "function HTMLAreaElement() {
-    [native code]
-}"
-FAIL area: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLAreaElement {}" but got function "function HTMLAreaElement() {
-    [native code]
-}"
+FAIL area: Define a customized built-in element The superclass is not a constructor.
 PASS article: Define a customized built-in element 
 PASS article: Operator 'new' should instantiate a customized built-in element 
 FAIL article: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -47,14 +33,7 @@ FAIL aside: document.createElement() should instantiate a customized built-in el
 FAIL aside: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS audio: Define a customized built-in element 
-FAIL audio: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL audio: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLAudioElement {}" but got function "function HTMLAudioElement() {
-    [native code]
-}"
-FAIL audio: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLAudioElement {}" but got function "function HTMLAudioElement() {
-    [native code]
-}"
+FAIL audio: Define a customized built-in element The superclass is not a constructor.
 PASS b: Define a customized built-in element 
 PASS b: Operator 'new' should instantiate a customized built-in element 
 FAIL b: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -63,14 +42,7 @@ FAIL b: document.createElement() should instantiate a customized built-in elemen
 FAIL b: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS base: Define a customized built-in element 
-FAIL base: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL base: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLBaseElement {}" but got function "function HTMLBaseElement() {
-    [native code]
-}"
-FAIL base: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLBaseElement {}" but got function "function HTMLBaseElement() {
-    [native code]
-}"
+FAIL base: Define a customized built-in element The superclass is not a constructor.
 PASS bdi: Define a customized built-in element 
 PASS bdi: Operator 'new' should instantiate a customized built-in element 
 FAIL bdi: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -87,54 +59,12 @@ FAIL bdo: document.createElement() should instantiate a customized built-in elem
 FAIL bdo: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS blockquote: Define a customized built-in element 
-FAIL blockquote: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL blockquote: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLQuoteElement {}" but got function "function HTMLQuoteElement() {
-    [native code]
-}"
-FAIL blockquote: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLQuoteElement {}" but got function "function HTMLQuoteElement() {
-    [native code]
-}"
-PASS body: Define a customized built-in element 
-FAIL body: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL body: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLBodyElement {}" but got function "function HTMLBodyElement() {
-    [native code]
-}"
-FAIL body: document parser should instantiate a customized built-in element assert_equals: expected function "class extends HTMLBodyElement {}" but got function "function HTMLBodyElement() {
-    [native code]
-}"
-PASS br: Define a customized built-in element 
-FAIL br: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL br: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLBRElement {}" but got function "function HTMLBRElement() {
-    [native code]
-}"
-FAIL br: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLBRElement {}" but got function "function HTMLBRElement() {
-    [native code]
-}"
-PASS button: Define a customized built-in element 
-FAIL button: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL button: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLButtonElement {}" but got function "function HTMLButtonElement() {
-    [native code]
-}"
-FAIL button: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLButtonElement {}" but got function "function HTMLButtonElement() {
-    [native code]
-}"
-PASS canvas: Define a customized built-in element 
-FAIL canvas: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL canvas: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLCanvasElement {}" but got function "function HTMLCanvasElement() {
-    [native code]
-}"
-FAIL canvas: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLCanvasElement {}" but got function "function HTMLCanvasElement() {
-    [native code]
-}"
-PASS caption: Define a customized built-in element 
-FAIL caption: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL caption: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableCaptionElement {}" but got function "function HTMLTableCaptionElement() {
-    [native code]
-}"
-FAIL caption: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableCaptionElement {}" but got function "function HTMLTableCaptionElement() {
-    [native code]
-}"
+FAIL blockquote: Define a customized built-in element The superclass is not a constructor.
+FAIL body: Define a customized built-in element The superclass is not a constructor.
+FAIL br: Define a customized built-in element The superclass is not a constructor.
+FAIL button: Define a customized built-in element The superclass is not a constructor.
+FAIL canvas: Define a customized built-in element The superclass is not a constructor.
+FAIL caption: Define a customized built-in element The superclass is not a constructor.
 PASS cite: Define a customized built-in element 
 PASS cite: Operator 'new' should instantiate a customized built-in element 
 FAIL cite: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -151,30 +81,9 @@ FAIL code: document.createElement() should instantiate a customized built-in ele
 FAIL code: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS col: Define a customized built-in element 
-FAIL col: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL col: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableColElement {}" but got function "function HTMLTableColElement() {
-    [native code]
-}"
-FAIL col: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableColElement {}" but got function "function HTMLTableColElement() {
-    [native code]
-}"
-PASS colgroup: Define a customized built-in element 
-FAIL colgroup: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL colgroup: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableColElement {}" but got function "function HTMLTableColElement() {
-    [native code]
-}"
-FAIL colgroup: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableColElement {}" but got function "function HTMLTableColElement() {
-    [native code]
-}"
-PASS data: Define a customized built-in element 
-FAIL data: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL data: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLDataElement {}" but got function "function HTMLDataElement() {
-    [native code]
-}"
-FAIL data: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLDataElement {}" but got function "function HTMLDataElement() {
-    [native code]
-}"
+FAIL col: Define a customized built-in element The superclass is not a constructor.
+FAIL colgroup: Define a customized built-in element The superclass is not a constructor.
+FAIL data: Define a customized built-in element The superclass is not a constructor.
 PASS dd: Define a customized built-in element 
 PASS dd: Operator 'new' should instantiate a customized built-in element 
 FAIL dd: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -183,22 +92,8 @@ FAIL dd: document.createElement() should instantiate a customized built-in eleme
 FAIL dd: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS del: Define a customized built-in element 
-FAIL del: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL del: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLModElement {}" but got function "function HTMLModElement() {
-    [native code]
-}"
-FAIL del: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLModElement {}" but got function "function HTMLModElement() {
-    [native code]
-}"
-PASS details: Define a customized built-in element 
-FAIL details: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL details: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLDetailsElement {}" but got function "function HTMLDetailsElement() {
-    [native code]
-}"
-FAIL details: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLDetailsElement {}" but got function "function HTMLDetailsElement() {
-    [native code]
-}"
+FAIL del: Define a customized built-in element The superclass is not a constructor.
+FAIL details: Define a customized built-in element The superclass is not a constructor.
 PASS dfn: Define a customized built-in element 
 PASS dfn: Operator 'new' should instantiate a customized built-in element 
 FAIL dfn: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -207,22 +102,8 @@ FAIL dfn: document.createElement() should instantiate a customized built-in elem
 FAIL dfn: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS div: Define a customized built-in element 
-FAIL div: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL div: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLDivElement {}" but got function "function HTMLDivElement() {
-    [native code]
-}"
-FAIL div: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLDivElement {}" but got function "function HTMLDivElement() {
-    [native code]
-}"
-PASS dl: Define a customized built-in element 
-FAIL dl: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL dl: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLDListElement {}" but got function "function HTMLDListElement() {
-    [native code]
-}"
-FAIL dl: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLDListElement {}" but got function "function HTMLDListElement() {
-    [native code]
-}"
+FAIL div: Define a customized built-in element The superclass is not a constructor.
+FAIL dl: Define a customized built-in element The superclass is not a constructor.
 PASS dt: Define a customized built-in element 
 PASS dt: Operator 'new' should instantiate a customized built-in element 
 FAIL dt: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -239,22 +120,8 @@ FAIL em: document.createElement() should instantiate a customized built-in eleme
 FAIL em: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS embed: Define a customized built-in element 
-FAIL embed: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL embed: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLEmbedElement {}" but got function "function HTMLEmbedElement() {
-    [native code]
-}"
-FAIL embed: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLEmbedElement {}" but got function "function HTMLEmbedElement() {
-    [native code]
-}"
-PASS fieldset: Define a customized built-in element 
-FAIL fieldset: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL fieldset: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLFieldSetElement {}" but got function "function HTMLFieldSetElement() {
-    [native code]
-}"
-FAIL fieldset: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLFieldSetElement {}" but got function "function HTMLFieldSetElement() {
-    [native code]
-}"
+FAIL embed: Define a customized built-in element The superclass is not a constructor.
+FAIL fieldset: Define a customized built-in element The superclass is not a constructor.
 PASS figcaption: Define a customized built-in element 
 PASS figcaption: Operator 'new' should instantiate a customized built-in element 
 FAIL figcaption: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -279,62 +146,13 @@ FAIL footer: document.createElement() should instantiate a customized built-in e
 FAIL footer: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS form: Define a customized built-in element 
-FAIL form: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL form: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLFormElement {}" but got function "function HTMLFormElement() {
-    [native code]
-}"
-FAIL form: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLFormElement {}" but got function "function HTMLFormElement() {
-    [native code]
-}"
-PASS h1: Define a customized built-in element 
-FAIL h1: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL h1: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHeadingElement {}" but got function "function HTMLHeadingElement() {
-    [native code]
-}"
-FAIL h1: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHeadingElement {}" but got function "function HTMLHeadingElement() {
-    [native code]
-}"
-PASS h2: Define a customized built-in element 
-FAIL h2: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL h2: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHeadingElement {}" but got function "function HTMLHeadingElement() {
-    [native code]
-}"
-FAIL h2: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHeadingElement {}" but got function "function HTMLHeadingElement() {
-    [native code]
-}"
-PASS h3: Define a customized built-in element 
-FAIL h3: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL h3: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHeadingElement {}" but got function "function HTMLHeadingElement() {
-    [native code]
-}"
-FAIL h3: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHeadingElement {}" but got function "function HTMLHeadingElement() {
-    [native code]
-}"
-PASS h4: Define a customized built-in element 
-FAIL h4: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL h4: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHeadingElement {}" but got function "function HTMLHeadingElement() {
-    [native code]
-}"
-FAIL h4: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHeadingElement {}" but got function "function HTMLHeadingElement() {
-    [native code]
-}"
-PASS h5: Define a customized built-in element 
-FAIL h5: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL h5: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHeadingElement {}" but got function "function HTMLHeadingElement() {
-    [native code]
-}"
-FAIL h5: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHeadingElement {}" but got function "function HTMLHeadingElement() {
-    [native code]
-}"
-PASS h6: Define a customized built-in element 
-FAIL h6: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL h6: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHeadingElement {}" but got function "function HTMLHeadingElement() {
-    [native code]
-}"
-FAIL h6: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHeadingElement {}" but got function "function HTMLHeadingElement() {
-    [native code]
-}"
+FAIL form: Define a customized built-in element The superclass is not a constructor.
+FAIL h1: Define a customized built-in element The superclass is not a constructor.
+FAIL h2: Define a customized built-in element The superclass is not a constructor.
+FAIL h3: Define a customized built-in element The superclass is not a constructor.
+FAIL h4: Define a customized built-in element The superclass is not a constructor.
+FAIL h5: Define a customized built-in element The superclass is not a constructor.
+FAIL h6: Define a customized built-in element The superclass is not a constructor.
 PASS header: Define a customized built-in element 
 PASS header: Operator 'new' should instantiate a customized built-in element 
 FAIL header: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -351,22 +169,8 @@ FAIL hgroup: document.createElement() should instantiate a customized built-in e
 FAIL hgroup: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS hr: Define a customized built-in element 
-FAIL hr: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL hr: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHRElement {}" but got function "function HTMLHRElement() {
-    [native code]
-}"
-FAIL hr: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHRElement {}" but got function "function HTMLHRElement() {
-    [native code]
-}"
-PASS html: Define a customized built-in element 
-FAIL html: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL html: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHtmlElement {}" but got function "function HTMLHtmlElement() {
-    [native code]
-}"
-FAIL html: document parser should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHtmlElement {}" but got function "function HTMLHtmlElement() {
-    [native code]
-}"
+FAIL hr: Define a customized built-in element The superclass is not a constructor.
+FAIL html: Define a customized built-in element The superclass is not a constructor.
 PASS i: Define a customized built-in element 
 PASS i: Operator 'new' should instantiate a customized built-in element 
 FAIL i: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -375,38 +179,10 @@ FAIL i: document.createElement() should instantiate a customized built-in elemen
 FAIL i: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS iframe: Define a customized built-in element 
-FAIL iframe: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL iframe: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLIFrameElement {}" but got function "function HTMLIFrameElement() {
-    [native code]
-}"
-FAIL iframe: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLIFrameElement {}" but got function "function HTMLIFrameElement() {
-    [native code]
-}"
-PASS img: Define a customized built-in element 
-FAIL img: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL img: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLImageElement {}" but got function "function HTMLImageElement() {
-    [native code]
-}"
-FAIL img: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLImageElement {}" but got function "function HTMLImageElement() {
-    [native code]
-}"
-PASS input: Define a customized built-in element 
-FAIL input: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL input: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLInputElement {}" but got function "function HTMLInputElement() {
-    [native code]
-}"
-FAIL input: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLInputElement {}" but got function "function HTMLInputElement() {
-    [native code]
-}"
-PASS ins: Define a customized built-in element 
-FAIL ins: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL ins: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLModElement {}" but got function "function HTMLModElement() {
-    [native code]
-}"
-FAIL ins: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLModElement {}" but got function "function HTMLModElement() {
-    [native code]
-}"
+FAIL iframe: Define a customized built-in element The superclass is not a constructor.
+FAIL img: Define a customized built-in element The superclass is not a constructor.
+FAIL input: Define a customized built-in element The superclass is not a constructor.
+FAIL ins: Define a customized built-in element The superclass is not a constructor.
 PASS kbd: Define a customized built-in element 
 PASS kbd: Operator 'new' should instantiate a customized built-in element 
 FAIL kbd: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -415,38 +191,10 @@ FAIL kbd: document.createElement() should instantiate a customized built-in elem
 FAIL kbd: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS label: Define a customized built-in element 
-FAIL label: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL label: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLLabelElement {}" but got function "function HTMLLabelElement() {
-    [native code]
-}"
-FAIL label: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLLabelElement {}" but got function "function HTMLLabelElement() {
-    [native code]
-}"
-PASS legend: Define a customized built-in element 
-FAIL legend: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL legend: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLLegendElement {}" but got function "function HTMLLegendElement() {
-    [native code]
-}"
-FAIL legend: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLLegendElement {}" but got function "function HTMLLegendElement() {
-    [native code]
-}"
-PASS li: Define a customized built-in element 
-FAIL li: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL li: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLLIElement {}" but got function "function HTMLLIElement() {
-    [native code]
-}"
-FAIL li: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLLIElement {}" but got function "function HTMLLIElement() {
-    [native code]
-}"
-PASS link: Define a customized built-in element 
-FAIL link: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL link: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLLinkElement {}" but got function "function HTMLLinkElement() {
-    [native code]
-}"
-FAIL link: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLLinkElement {}" but got function "function HTMLLinkElement() {
-    [native code]
-}"
+FAIL label: Define a customized built-in element The superclass is not a constructor.
+FAIL legend: Define a customized built-in element The superclass is not a constructor.
+FAIL li: Define a customized built-in element The superclass is not a constructor.
+FAIL link: Define a customized built-in element The superclass is not a constructor.
 PASS main: Define a customized built-in element 
 PASS main: Operator 'new' should instantiate a customized built-in element 
 FAIL main: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -455,14 +203,7 @@ FAIL main: document.createElement() should instantiate a customized built-in ele
 FAIL main: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS map: Define a customized built-in element 
-FAIL map: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL map: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLMapElement {}" but got function "function HTMLMapElement() {
-    [native code]
-}"
-FAIL map: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLMapElement {}" but got function "function HTMLMapElement() {
-    [native code]
-}"
+FAIL map: Define a customized built-in element The superclass is not a constructor.
 PASS mark: Define a customized built-in element 
 PASS mark: Operator 'new' should instantiate a customized built-in element 
 FAIL mark: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -471,30 +212,9 @@ FAIL mark: document.createElement() should instantiate a customized built-in ele
 FAIL mark: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS menu: Define a customized built-in element 
-FAIL menu: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL menu: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLMenuElement {}" but got function "function HTMLMenuElement() {
-    [native code]
-}"
-FAIL menu: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLMenuElement {}" but got function "function HTMLMenuElement() {
-    [native code]
-}"
-PASS meta: Define a customized built-in element 
-FAIL meta: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL meta: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLMetaElement {}" but got function "function HTMLMetaElement() {
-    [native code]
-}"
-FAIL meta: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLMetaElement {}" but got function "function HTMLMetaElement() {
-    [native code]
-}"
-PASS meter: Define a customized built-in element 
-FAIL meter: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL meter: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLMeterElement {}" but got function "function HTMLMeterElement() {
-    [native code]
-}"
-FAIL meter: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLMeterElement {}" but got function "function HTMLMeterElement() {
-    [native code]
-}"
+FAIL menu: Define a customized built-in element The superclass is not a constructor.
+FAIL meta: Define a customized built-in element The superclass is not a constructor.
+FAIL meter: Define a customized built-in element The superclass is not a constructor.
 PASS nav: Define a customized built-in element 
 PASS nav: Operator 'new' should instantiate a customized built-in element 
 FAIL nav: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -511,94 +231,17 @@ FAIL noscript: document.createElement() should instantiate a customized built-in
 FAIL noscript: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS object: Define a customized built-in element 
-FAIL object: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL object: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLObjectElement {}" but got function "function HTMLObjectElement() {
-    [native code]
-}"
-FAIL object: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLObjectElement {}" but got function "function HTMLObjectElement() {
-    [native code]
-}"
-PASS ol: Define a customized built-in element 
-FAIL ol: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL ol: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLOListElement {}" but got function "function HTMLOListElement() {
-    [native code]
-}"
-FAIL ol: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLOListElement {}" but got function "function HTMLOListElement() {
-    [native code]
-}"
-PASS optgroup: Define a customized built-in element 
-FAIL optgroup: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL optgroup: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLOptGroupElement {}" but got function "function HTMLOptGroupElement() {
-    [native code]
-}"
-FAIL optgroup: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLOptGroupElement {}" but got function "function HTMLOptGroupElement() {
-    [native code]
-}"
-PASS option: Define a customized built-in element 
-FAIL option: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL option: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLOptionElement {}" but got function "function HTMLOptionElement() {
-    [native code]
-}"
-FAIL option: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLOptionElement {}" but got function "function HTMLOptionElement() {
-    [native code]
-}"
-PASS output: Define a customized built-in element 
-FAIL output: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL output: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLOutputElement {}" but got function "function HTMLOutputElement() {
-    [native code]
-}"
-FAIL output: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLOutputElement {}" but got function "function HTMLOutputElement() {
-    [native code]
-}"
-PASS p: Define a customized built-in element 
-FAIL p: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL p: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLParagraphElement {}" but got function "function HTMLParagraphElement() {
-    [native code]
-}"
-FAIL p: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLParagraphElement {}" but got function "function HTMLParagraphElement() {
-    [native code]
-}"
-PASS param: Define a customized built-in element 
-FAIL param: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL param: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLParamElement {}" but got function "function HTMLParamElement() {
-    [native code]
-}"
-FAIL param: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLParamElement {}" but got function "function HTMLParamElement() {
-    [native code]
-}"
-PASS picture: Define a customized built-in element 
-FAIL picture: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL picture: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLPictureElement {}" but got function "function HTMLPictureElement() {
-    [native code]
-}"
-FAIL picture: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLPictureElement {}" but got function "function HTMLPictureElement() {
-    [native code]
-}"
-PASS pre: Define a customized built-in element 
-FAIL pre: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL pre: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLPreElement {}" but got function "function HTMLPreElement() {
-    [native code]
-}"
-FAIL pre: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLPreElement {}" but got function "function HTMLPreElement() {
-    [native code]
-}"
-PASS progress: Define a customized built-in element 
-FAIL progress: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL progress: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLProgressElement {}" but got function "function HTMLProgressElement() {
-    [native code]
-}"
-FAIL progress: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLProgressElement {}" but got function "function HTMLProgressElement() {
-    [native code]
-}"
-PASS q: Define a customized built-in element 
-FAIL q: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL q: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLQuoteElement {}" but got function "function HTMLQuoteElement() {
-    [native code]
-}"
-FAIL q: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLQuoteElement {}" but got function "function HTMLQuoteElement() {
-    [native code]
-}"
+FAIL object: Define a customized built-in element The superclass is not a constructor.
+FAIL ol: Define a customized built-in element The superclass is not a constructor.
+FAIL optgroup: Define a customized built-in element The superclass is not a constructor.
+FAIL option: Define a customized built-in element The superclass is not a constructor.
+FAIL output: Define a customized built-in element The superclass is not a constructor.
+FAIL p: Define a customized built-in element The superclass is not a constructor.
+FAIL param: Define a customized built-in element The superclass is not a constructor.
+FAIL picture: Define a customized built-in element The superclass is not a constructor.
+FAIL pre: Define a customized built-in element The superclass is not a constructor.
+FAIL progress: Define a customized built-in element The superclass is not a constructor.
+FAIL q: Define a customized built-in element The superclass is not a constructor.
 PASS rp: Define a customized built-in element 
 PASS rp: Operator 'new' should instantiate a customized built-in element 
 FAIL rp: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -639,14 +282,7 @@ FAIL samp: document.createElement() should instantiate a customized built-in ele
 FAIL samp: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS script: Define a customized built-in element 
-FAIL script: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL script: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLScriptElement {}" but got function "function HTMLScriptElement() {
-    [native code]
-}"
-FAIL script: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLScriptElement {}" but got function "function HTMLScriptElement() {
-    [native code]
-}"
+FAIL script: Define a customized built-in element The superclass is not a constructor.
 PASS section: Define a customized built-in element 
 PASS section: Operator 'new' should instantiate a customized built-in element 
 FAIL section: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -655,14 +291,7 @@ FAIL section: document.createElement() should instantiate a customized built-in
 FAIL section: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS select: Define a customized built-in element 
-FAIL select: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL select: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLSelectElement {}" but got function "function HTMLSelectElement() {
-    [native code]
-}"
-FAIL select: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLSelectElement {}" but got function "function HTMLSelectElement() {
-    [native code]
-}"
+FAIL select: Define a customized built-in element The superclass is not a constructor.
 PASS small: Define a customized built-in element 
 PASS small: Operator 'new' should instantiate a customized built-in element 
 FAIL small: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -671,22 +300,8 @@ FAIL small: document.createElement() should instantiate a customized built-in el
 FAIL small: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS source: Define a customized built-in element 
-FAIL source: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL source: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLSourceElement {}" but got function "function HTMLSourceElement() {
-    [native code]
-}"
-FAIL source: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLSourceElement {}" but got function "function HTMLSourceElement() {
-    [native code]
-}"
-PASS span: Define a customized built-in element 
-FAIL span: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL span: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLSpanElement {}" but got function "function HTMLSpanElement() {
-    [native code]
-}"
-FAIL span: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLSpanElement {}" but got function "function HTMLSpanElement() {
-    [native code]
-}"
+FAIL source: Define a customized built-in element The superclass is not a constructor.
+FAIL span: Define a customized built-in element The superclass is not a constructor.
 PASS strong: Define a customized built-in element 
 PASS strong: Operator 'new' should instantiate a customized built-in element 
 FAIL strong: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -695,14 +310,7 @@ FAIL strong: document.createElement() should instantiate a customized built-in e
 FAIL strong: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS style: Define a customized built-in element 
-FAIL style: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL style: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLStyleElement {}" but got function "function HTMLStyleElement() {
-    [native code]
-}"
-FAIL style: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLStyleElement {}" but got function "function HTMLStyleElement() {
-    [native code]
-}"
+FAIL style: Define a customized built-in element The superclass is not a constructor.
 PASS sub: Define a customized built-in element 
 PASS sub: Operator 'new' should instantiate a customized built-in element 
 FAIL sub: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -727,102 +335,18 @@ FAIL sup: document.createElement() should instantiate a customized built-in elem
 FAIL sup: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS table: Define a customized built-in element 
-FAIL table: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL table: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableElement {}" but got function "function HTMLTableElement() {
-    [native code]
-}"
-FAIL table: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableElement {}" but got function "function HTMLTableElement() {
-    [native code]
-}"
-PASS tbody: Define a customized built-in element 
-FAIL tbody: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL tbody: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableSectionElement {}" but got function "function HTMLTableSectionElement() {
-    [native code]
-}"
-FAIL tbody: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableSectionElement {}" but got function "function HTMLTableSectionElement() {
-    [native code]
-}"
-PASS td: Define a customized built-in element 
-FAIL td: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL td: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableCellElement {}" but got function "function HTMLTableCellElement() {
-    [native code]
-}"
-FAIL td: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableCellElement {}" but got function "function HTMLTableCellElement() {
-    [native code]
-}"
-PASS template: Define a customized built-in element 
-FAIL template: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL template: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTemplateElement {}" but got function "function HTMLTemplateElement() {
-    [native code]
-}"
-FAIL template: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTemplateElement {}" but got function "function HTMLTemplateElement() {
-    [native code]
-}"
-PASS textarea: Define a customized built-in element 
-FAIL textarea: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL textarea: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTextAreaElement {}" but got function "function HTMLTextAreaElement() {
-    [native code]
-}"
-FAIL textarea: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTextAreaElement {}" but got function "function HTMLTextAreaElement() {
-    [native code]
-}"
-PASS tfoot: Define a customized built-in element 
-FAIL tfoot: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL tfoot: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableSectionElement {}" but got function "function HTMLTableSectionElement() {
-    [native code]
-}"
-FAIL tfoot: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableSectionElement {}" but got function "function HTMLTableSectionElement() {
-    [native code]
-}"
-PASS th: Define a customized built-in element 
-FAIL th: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL th: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableCellElement {}" but got function "function HTMLTableCellElement() {
-    [native code]
-}"
-FAIL th: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableCellElement {}" but got function "function HTMLTableCellElement() {
-    [native code]
-}"
-PASS thead: Define a customized built-in element 
-FAIL thead: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL thead: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableSectionElement {}" but got function "function HTMLTableSectionElement() {
-    [native code]
-}"
-FAIL thead: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableSectionElement {}" but got function "function HTMLTableSectionElement() {
-    [native code]
-}"
-PASS time: Define a customized built-in element 
-FAIL time: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL time: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTimeElement {}" but got function "function HTMLTimeElement() {
-    [native code]
-}"
-FAIL time: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTimeElement {}" but got function "function HTMLTimeElement() {
-    [native code]
-}"
-PASS title: Define a customized built-in element 
-FAIL title: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL title: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTitleElement {}" but got function "function HTMLTitleElement() {
-    [native code]
-}"
-FAIL title: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTitleElement {}" but got function "function HTMLTitleElement() {
-    [native code]
-}"
-PASS tr: Define a customized built-in element 
-FAIL tr: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL tr: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableRowElement {}" but got function "function HTMLTableRowElement() {
-    [native code]
-}"
-FAIL tr: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableRowElement {}" but got function "function HTMLTableRowElement() {
-    [native code]
-}"
-PASS track: Define a customized built-in element 
-FAIL track: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL track: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTrackElement {}" but got function "function HTMLTrackElement() {
-    [native code]
-}"
-FAIL track: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTrackElement {}" but got function "function HTMLTrackElement() {
-    [native code]
-}"
+FAIL table: Define a customized built-in element The superclass is not a constructor.
+FAIL tbody: Define a customized built-in element The superclass is not a constructor.
+FAIL td: Define a customized built-in element The superclass is not a constructor.
+FAIL template: Define a customized built-in element The superclass is not a constructor.
+FAIL textarea: Define a customized built-in element The superclass is not a constructor.
+FAIL tfoot: Define a customized built-in element The superclass is not a constructor.
+FAIL th: Define a customized built-in element The superclass is not a constructor.
+FAIL thead: Define a customized built-in element The superclass is not a constructor.
+FAIL time: Define a customized built-in element The superclass is not a constructor.
+FAIL title: Define a customized built-in element The superclass is not a constructor.
+FAIL tr: Define a customized built-in element The superclass is not a constructor.
+FAIL track: Define a customized built-in element The superclass is not a constructor.
 PASS u: Define a customized built-in element 
 PASS u: Operator 'new' should instantiate a customized built-in element 
 FAIL u: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -831,14 +355,7 @@ FAIL u: document.createElement() should instantiate a customized built-in elemen
 FAIL u: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS ul: Define a customized built-in element 
-FAIL ul: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL ul: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLUListElement {}" but got function "function HTMLUListElement() {
-    [native code]
-}"
-FAIL ul: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLUListElement {}" but got function "function HTMLUListElement() {
-    [native code]
-}"
+FAIL ul: Define a customized built-in element The superclass is not a constructor.
 PASS var: Define a customized built-in element 
 PASS var: Operator 'new' should instantiate a customized built-in element 
 FAIL var: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -847,14 +364,7 @@ FAIL var: document.createElement() should instantiate a customized built-in elem
 FAIL var: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS video: Define a customized built-in element 
-FAIL video: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL video: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLVideoElement {}" but got function "function HTMLVideoElement() {
-    [native code]
-}"
-FAIL video: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLVideoElement {}" but got function "function HTMLVideoElement() {
-    [native code]
-}"
+FAIL video: Define a customized built-in element The superclass is not a constructor.
 PASS wbr: Define a customized built-in element 
 PASS wbr: Operator 'new' should instantiate a customized built-in element 
 FAIL wbr: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
@@ -863,28 +373,7 @@ FAIL wbr: document.createElement() should instantiate a customized built-in elem
 FAIL wbr: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
     [native code]
 }"
-PASS datalist: Define a customized built-in element 
-FAIL datalist: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL datalist: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLDataListElement {}" but got function "function HTMLDataListElement() {
-    [native code]
-}"
-FAIL datalist: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLDataListElement {}" but got function "function HTMLDataListElement() {
-    [native code]
-}"
-PASS dialog: Define a customized built-in element 
-FAIL dialog: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL dialog: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLDialogElement {}" but got function "function HTMLDialogElement() {
-    [native code]
-}"
-FAIL dialog: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLDialogElement {}" but got function "function HTMLDialogElement() {
-    [native code]
-}"
-PASS slot: Define a customized built-in element 
-FAIL slot: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
-FAIL slot: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLSlotElement {}" but got function "function HTMLSlotElement() {
-    [native code]
-}"
-FAIL slot: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLSlotElement {}" but got function "function HTMLSlotElement() {
-    [native code]
-}"
+FAIL datalist: Define a customized built-in element The superclass is not a constructor.
+FAIL dialog: Define a customized built-in element The superclass is not a constructor.
+FAIL slot: Define a customized built-in element The superclass is not a constructor.
 
index cf00ea8..760e9a3 100644 (file)
@@ -1,3 +1,79 @@
+2020-05-12  Alexey Shvayka  <shvaikalesh@gmail.com>
+
+        Implement @isConstructor bytecode intrinsic and bytecode for that
+        https://bugs.webkit.org/show_bug.cgi?id=144093
+
+        Reviewed by Keith Miller.
+
+        This change replaces @isConstructor link-time-constant with bytecode intrinsic and utilizes it
+        in ClassExprNode::emitBytecode() according to the spec [1], aligning JSC with V8 and SpiderMonkey.
+
+        Before this patch, we checked if "prototype" of superclass is an object, which is incorrect for
+        generators and bound non-constructor functions with own "prototype".
+
+        OpIsConstructor's fast path can't be easily compiled, and it's not a hot code anyway, so instead
+        we reduce code bloat by just calling slow ops from DFG and FTL (if we bail out, we slow down all
+        @isConstructor call sites). This advances microbenchmarks/is-constructor.js by ~35%.
+
+        [1]: https://tc39.es/ecma262/#sec-runtime-semantics-classdefinitionevaluation (step 5.f)
+
+        * JavaScriptCore.xcodeproj/project.pbxproj:
+        * Sources.txt:
+        * builtins/BuiltinNames.h:
+        * bytecode/BytecodeIntrinsicRegistry.h:
+        * bytecode/BytecodeList.rb:
+        * bytecode/BytecodeUseDef.cpp:
+        (JSC::computeUsesForBytecodeIndexImpl):
+        (JSC::computeDefsForBytecodeIndexImpl):
+        * bytecompiler/BytecodeGenerator.cpp:
+        (JSC::BytecodeGenerator::emitIsConstructor):
+        * bytecompiler/BytecodeGenerator.h:
+        * bytecompiler/NodesCodegen.cpp:
+        (JSC::ClassExprNode::emitBytecode):
+        * dfg/DFGAbstractInterpreterInlines.h:
+        (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
+        * dfg/DFGByteCodeParser.cpp:
+        (JSC::DFG::ByteCodeParser::parseBlock):
+        * dfg/DFGCapabilities.cpp:
+        (JSC::DFG::capabilityLevel):
+        * dfg/DFGClobberize.h:
+        (JSC::DFG::clobberize):
+        * dfg/DFGDoesGC.cpp:
+        (JSC::DFG::doesGC):
+        * dfg/DFGFixupPhase.cpp:
+        (JSC::DFG::FixupPhase::fixupNode):
+        * dfg/DFGHeapLocation.cpp:
+        (WTF::printInternal):
+        * dfg/DFGHeapLocation.h:
+        * dfg/DFGNodeType.h:
+        * dfg/DFGOperations.cpp:
+        * dfg/DFGOperations.h:
+        * dfg/DFGPredictionPropagationPhase.cpp:
+        * dfg/DFGSafeToExecute.h:
+        (JSC::DFG::safeToExecute):
+        * dfg/DFGSpeculativeJIT.cpp:
+        (JSC::DFG::SpeculativeJIT::compileIsConstructor):
+        * dfg/DFGSpeculativeJIT.h:
+        * dfg/DFGSpeculativeJIT32_64.cpp:
+        (JSC::DFG::SpeculativeJIT::compile):
+        * dfg/DFGSpeculativeJIT64.cpp:
+        (JSC::DFG::SpeculativeJIT::compile):
+        * ftl/FTLCapabilities.cpp:
+        (JSC::FTL::canCompile):
+        * ftl/FTLLowerDFGToB3.cpp:
+        (JSC::FTL::DFG::LowerDFGToB3::compileNode):
+        (JSC::FTL::DFG::LowerDFGToB3::compileIsConstructor):
+        * jit/JIT.cpp:
+        (JSC::JIT::privateCompileMainPass):
+        * llint/LowLevelInterpreter.asm:
+        * runtime/CommonSlowPaths.cpp:
+        (JSC::SLOW_PATH_DECL):
+        * runtime/CommonSlowPaths.h:
+        * runtime/ECMAScriptSpecInternalFunctions.cpp: Removed.
+        * runtime/ECMAScriptSpecInternalFunctions.h: Removed.
+        * runtime/JSGlobalObject.cpp:
+        (JSC::JSGlobalObject::init):
+
 2020-05-12  Robin Morisset  <rmorisset@apple.com>
 
         Exception check for OOM is a bit too late in JSBigInt::exponentiate.
index e9f2688..742b30b 100644 (file)
                FE2A87601F02381600EB31B2 /* MinimumReservedZoneSize.h in Headers */ = {isa = PBXBuildFile; fileRef = FE2A875F1F02381600EB31B2 /* MinimumReservedZoneSize.h */; };
                FE3022D31E3D73A500BAC493 /* SigillCrashAnalyzer.h in Headers */ = {isa = PBXBuildFile; fileRef = FE3022D11E3D739600BAC493 /* SigillCrashAnalyzer.h */; settings = {ATTRIBUTES = (Private, ); }; };
                FE3022D71E42857300BAC493 /* VMInspector.h in Headers */ = {isa = PBXBuildFile; fileRef = FE3022D51E42856700BAC493 /* VMInspector.h */; };
-               FE318FE01CAC982F00DFCC54 /* ECMAScriptSpecInternalFunctions.h in Headers */ = {isa = PBXBuildFile; fileRef = FE318FDE1CAC8C5300DFCC54 /* ECMAScriptSpecInternalFunctions.h */; };
                FE3422121D6B81C30032BE88 /* ThrowScope.h in Headers */ = {isa = PBXBuildFile; fileRef = FE3422111D6B818C0032BE88 /* ThrowScope.h */; settings = {ATTRIBUTES = (Private, ); }; };
                FE34EE2124398AAE00AA2E7C /* EnsureStillAliveHere.h in Headers */ = {isa = PBXBuildFile; fileRef = FE34EE2024398A9A00AA2E7C /* EnsureStillAliveHere.h */; settings = {ATTRIBUTES = (Private, ); }; };
                FE3842332324D51B009DD445 /* OptionsList.h in Headers */ = {isa = PBXBuildFile; fileRef = FE3842312324D51B009DD445 /* OptionsList.h */; settings = {ATTRIBUTES = (Private, ); }; };
                FE3022D11E3D739600BAC493 /* SigillCrashAnalyzer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SigillCrashAnalyzer.h; sourceTree = "<group>"; };
                FE3022D41E42856700BAC493 /* VMInspector.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VMInspector.cpp; sourceTree = "<group>"; };
                FE3022D51E42856700BAC493 /* VMInspector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VMInspector.h; sourceTree = "<group>"; };
-               FE318FDD1CAC8C5300DFCC54 /* ECMAScriptSpecInternalFunctions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ECMAScriptSpecInternalFunctions.cpp; sourceTree = "<group>"; };
-               FE318FDE1CAC8C5300DFCC54 /* ECMAScriptSpecInternalFunctions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ECMAScriptSpecInternalFunctions.h; sourceTree = "<group>"; };
                FE3422111D6B818C0032BE88 /* ThrowScope.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ThrowScope.h; sourceTree = "<group>"; };
                FE34EE2024398A9A00AA2E7C /* EnsureStillAliveHere.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EnsureStillAliveHere.h; sourceTree = "<group>"; };
                FE34EE2224398B8500AA2E7C /* EnsureStillAliveHere.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = EnsureStillAliveHere.cpp; sourceTree = "<group>"; };
                                A70447EC17A0BD7000F5898E /* DumpContext.h */,
                                145FF2C6243BB99A00569E71 /* ECMAMode.cpp */,
                                145FF2C7243BB99A00569E71 /* ECMAMode.h */,
-                               FE318FDD1CAC8C5300DFCC54 /* ECMAScriptSpecInternalFunctions.cpp */,
-                               FE318FDE1CAC8C5300DFCC54 /* ECMAScriptSpecInternalFunctions.h */,
                                FE34EE2224398B8500AA2E7C /* EnsureStillAliveHere.cpp */,
                                FE34EE2024398A9A00AA2E7C /* EnsureStillAliveHere.h */,
                                2AD2EDFA19799E38004D6478 /* EnumerationMode.h */,
                                E350708A1DC49BBF0089BCD6 /* DOMJITSignature.h in Headers */,
                                A70447EE17A0BD7000F5898E /* DumpContext.h in Headers */,
                                145FF2C8243BB9D600569E71 /* ECMAMode.h in Headers */,
-                               FE318FE01CAC982F00DFCC54 /* ECMAScriptSpecInternalFunctions.h in Headers */,
                                2A83638618D7D0EE0000EBCC /* EdenGCActivityCallback.h in Headers */,
                                FE34EE2124398AAE00AA2E7C /* EnsureStillAliveHere.h in Headers */,
                                FE086BCA2123DEFB003F2929 /* EntryFrame.h in Headers */,
index ecce913..2e95fb5 100644 (file)
@@ -767,7 +767,6 @@ runtime/DisallowVMReentry.cpp
 runtime/DoublePredictionFuzzerAgent.cpp
 runtime/DumpContext.cpp
 runtime/ECMAMode.cpp
-runtime/ECMAScriptSpecInternalFunctions.cpp
 runtime/EnsureStillAliveHere.cpp
 runtime/Error.cpp
 runtime/ErrorConstructor.cpp
index 13625f5..81b03a7 100644 (file)
@@ -121,7 +121,6 @@ namespace JSC {
     macro(hasInstanceBoundFunction) \
     macro(instanceOf) \
     macro(isArraySlow) \
-    macro(isConstructor) \
     macro(sameValue) \
     macro(concatMemcpy) \
     macro(appendMemcpy) \
index 670eb8e..091d78c 100644 (file)
@@ -51,6 +51,7 @@ enum class LinkTimeConstant : int32_t;
     macro(getSetIteratorInternalField) \
     macro(idWithProfile) \
     macro(isObject) \
+    macro(isConstructor) \
     macro(isJSArray) \
     macro(isProxyObject) \
     macro(isDerivedArray) \
index 4985790..5680d0b 100644 (file)
@@ -334,6 +334,7 @@ op_group :UnaryOp,
         :is_object,
         :is_object_or_null,
         :is_function,
+        :is_constructor,
     ],
     args: {
         dst: VirtualRegister,
index e31b134..e8f0aea 100644 (file)
@@ -179,6 +179,7 @@ void computeUsesForBytecodeIndexImpl(VirtualRegister scopeRegister, const Instru
     USES(OpIsObjectOrNull, operand)
     USES(OpIsCellWithType, operand)
     USES(OpIsFunction, operand)
+    USES(OpIsConstructor, operand)
     USES(OpToNumber, operand)
     USES(OpToNumeric, operand)
     USES(OpToString, operand)
@@ -435,6 +436,7 @@ void computeDefsForBytecodeIndexImpl(unsigned numVars, const Instruction* instru
     DEFS(OpIsObjectOrNull, dst)
     DEFS(OpIsCellWithType, dst)
     DEFS(OpIsFunction, dst)
+    DEFS(OpIsConstructor, dst)
     DEFS(OpInById, dst)
     DEFS(OpInByVal, dst)
     DEFS(OpToNumber, dst)
index c19e61c..7ce4953 100644 (file)
@@ -4385,6 +4385,12 @@ RegisterID* BytecodeGenerator::emitIsObject(RegisterID* dst, RegisterID* src)
     return dst;
 }
 
+RegisterID* BytecodeGenerator::emitIsConstructor(RegisterID* dst, RegisterID* src)
+{
+    OpIsConstructor::emit(this, dst, src);
+    return dst;
+}
+
 RegisterID* BytecodeGenerator::emitIsNumber(RegisterID* dst, RegisterID* src)
 {
     OpIsNumber::emit(this, dst, src);
index 4bc760c..753db8a 100644 (file)
@@ -894,6 +894,7 @@ namespace JSC {
         RegisterID* emitIsMapIterator(RegisterID* dst, RegisterID* src) { return emitIsCellWithType(dst, src, JSMapIteratorType); }
         RegisterID* emitIsSetIterator(RegisterID* dst, RegisterID* src) { return emitIsCellWithType(dst, src, JSSetIteratorType); }
         RegisterID* emitIsObject(RegisterID* dst, RegisterID* src);
+        RegisterID* emitIsConstructor(RegisterID* dst, RegisterID* src);
         RegisterID* emitIsNumber(RegisterID* dst, RegisterID* src);
         RegisterID* emitIsUndefined(RegisterID* dst, RegisterID* src);
         RegisterID* emitIsUndefinedOrNull(RegisterID* dst, RegisterID* src);
index 4aecf0b..213727e 100644 (file)
@@ -1587,6 +1587,7 @@ RegisterID* BytecodeIntrinsicNode::emit_intrinsic_idWithProfile(BytecodeGenerato
     }
 
 CREATE_INTRINSIC_FOR_BRAND_CHECK(isObject, IsObject)
+CREATE_INTRINSIC_FOR_BRAND_CHECK(isConstructor, IsConstructor)
 CREATE_INTRINSIC_FOR_BRAND_CHECK(isJSArray, IsJSArray)
 CREATE_INTRINSIC_FOR_BRAND_CHECK(isProxyObject, IsProxyObject)
 CREATE_INTRINSIC_FOR_BRAND_CHECK(isDerivedArray, IsDerivedArray)
@@ -4691,18 +4692,17 @@ RegisterID* ClassExprNode::emitBytecode(BytecodeGenerator& generator, RegisterID
 
         RefPtr<RegisterID> tempRegister = generator.newTemporary();
 
-        // FIXME: Throw TypeError if it's a generator function.
         Ref<Label> superclassIsUndefinedLabel = generator.newLabel();
         generator.emitJumpIfTrue(generator.emitIsUndefined(tempRegister.get(), superclass.get()), superclassIsUndefinedLabel.get());
 
         Ref<Label> superclassIsNullLabel = generator.newLabel();
         generator.emitJumpIfTrue(generator.emitUnaryOp<OpEqNull>(tempRegister.get(), superclass.get()), superclassIsNullLabel.get());
 
-        Ref<Label> superclassIsObjectLabel = generator.newLabel();
-        generator.emitJumpIfTrue(generator.emitIsObject(tempRegister.get(), superclass.get()), superclassIsObjectLabel.get());
+        Ref<Label> superclassIsConstructorLabel = generator.newLabel();
+        generator.emitJumpIfTrue(generator.emitIsConstructor(tempRegister.get(), superclass.get()), superclassIsConstructorLabel.get());
         generator.emitLabel(superclassIsUndefinedLabel.get());
-        generator.emitThrowTypeError("The superclass is not an object."_s);
-        generator.emitLabel(superclassIsObjectLabel.get());
+        generator.emitThrowTypeError("The superclass is not a constructor."_s);
+        generator.emitLabel(superclassIsConstructorLabel.get());
         generator.emitGetById(protoParent.get(), superclass.get(), generator.propertyNames().prototype);
 
         Ref<Label> protoParentIsObjectOrNullLabel = generator.newLabel();
index e15ff00..5e4ef6d 100644 (file)
@@ -1458,6 +1458,7 @@ bool AbstractInterpreter<AbstractStateType>::executeEffects(unsigned clobberLimi
     case IsObject:
     case IsObjectOrNull:
     case IsFunction:
+    case IsConstructor:
     case IsCellWithType:
     case IsTypedArrayView: {
         AbstractValue child = forNode(node->child1());
@@ -1521,6 +1522,9 @@ bool AbstractInterpreter<AbstractStateType>::executeEffects(unsigned clobberLimi
                 } else
                     setConstant(node, jsBoolean(false));
                 break;
+            case IsConstructor:
+                setConstant(node, jsBoolean(child.value().isConstructor(m_vm)));
+                break;
             case IsEmpty:
                 setConstant(node, jsBoolean(child.value().isEmpty()));
                 break;
@@ -1729,7 +1733,16 @@ bool AbstractInterpreter<AbstractStateType>::executeEffects(unsigned clobberLimi
                 break;
             }
             break;
+        case IsConstructor:
+            // FIXME: We can speculate constructability from child's m_structure.
+            // https://bugs.webkit.org/show_bug.cgi?id=211796
+            if (!(child.m_type & (SpecFunction | SpecProxyObject))) {
+                setConstant(node, jsBoolean(false));
+                constantWasSet = true;
+                break;
+            }
 
+            break;
         case IsCellWithType: {
             Optional<SpeculatedType> filter = node->speculatedTypeForQuery();
             if (!filter) {
index 26dbd04..22a8c64 100644 (file)
@@ -5789,6 +5789,13 @@ void ByteCodeParser::parseBlock(unsigned limit)
             NEXT_OPCODE(op_is_function);
         }
 
+        case op_is_constructor: {
+            auto bytecode = currentInstruction->as<OpIsConstructor>();
+            Node* value = get(bytecode.m_operand);
+            set(bytecode.m_dst, addToGraph(IsConstructor, value));
+            NEXT_OPCODE(op_is_constructor);
+        }
+
         case op_not: {
             auto bytecode = currentInstruction->as<OpNot>();
             Node* value = get(bytecode.m_operand);
index 65329f5..8718f8e 100644 (file)
@@ -154,6 +154,7 @@ CapabilityLevel capabilityLevel(OpcodeID opcodeID, CodeBlock* codeBlock, const I
     case op_is_object_or_null:
     case op_is_cell_with_type:
     case op_is_function:
+    case op_is_constructor:
     case op_not:
     case op_less:
     case op_lesseq:
index a7f796d..e28d70a 100644 (file)
@@ -601,6 +601,11 @@ void clobberize(Graph& graph, Node* node, const ReadFunctor& read, const WriteFu
         read(MiscFields);
         def(HeapLocation(IsFunctionLoc, MiscFields, node->child1()), LazyNode(node));
         return;
+
+    case IsConstructor:
+        read(MiscFields);
+        def(HeapLocation(IsConstructorLoc, MiscFields, node->child1()), LazyNode(node));
+        return;
         
     case MatchStructure:
         read(JSCell_structureID);
index 3d395b4..0776acc 100644 (file)
@@ -151,6 +151,7 @@ bool doesGC(Graph& graph, Node* node)
     case IsObject:
     case IsObjectOrNull:
     case IsFunction:
+    case IsConstructor:
     case IsCellWithType:
     case IsTypedArrayView:
     case TypeOf:
index 0f0aa44..5658f4b 100644 (file)
@@ -2677,6 +2677,7 @@ private:
         case IsBigInt:
         case IsObjectOrNull:
         case IsFunction:
+        case IsConstructor:
         case CreateDirectArguments:
         case Jump:
         case Return:
index fcb0f86..ce95025 100644 (file)
@@ -68,6 +68,10 @@ void printInternal(PrintStream& out, LocationKind kind)
         out.print("IsFunctionLoc");
         return;
         
+    case IsConstructorLoc:
+        out.print("IsConstructorLoc");
+        return;
+
     case GetterLoc:
         out.print("GetterLoc");
         return;
index b78f0c8..b5ced13 100644 (file)
@@ -55,6 +55,7 @@ enum LocationKind {
     IndexedPropertyStorageLoc,
     InvalidationPointLoc,
     IsFunctionLoc,
+    IsConstructorLoc,
     IsObjectOrNullLoc,
     NamedPropertyLoc,
     RegExpObjectLastIndexLoc,
index 5616816..ff8f144 100644 (file)
@@ -401,6 +401,7 @@ namespace JSC { namespace DFG {
     macro(IsObject, NodeResultBoolean) \
     macro(IsObjectOrNull, NodeResultBoolean) \
     macro(IsFunction, NodeResultBoolean) \
+    macro(IsConstructor, NodeResultBoolean) \
     macro(IsTypedArrayView, NodeResultBoolean) \
     macro(TypeOf, NodeResultJS) \
     macro(LogicalNot, NodeResultBoolean) \
index c16f1fc..944d9c6 100644 (file)
@@ -2163,6 +2163,15 @@ size_t JIT_OPERATION operationObjectIsFunction(JSGlobalObject* globalObject, JSC
     return false;
 }
 
+size_t JIT_OPERATION operationIsConstructor(JSGlobalObject* globalObject, EncodedJSValue value)
+{
+    VM& vm = globalObject->vm();
+    CallFrame* callFrame = DECLARE_CALL_FRAME(vm);
+    JITOperationPrologueCallFrameTracer tracer(vm, callFrame);
+
+    return JSValue::decode(value).isConstructor(vm);
+}
+
 JSCell* JIT_OPERATION operationTypeOfObject(JSGlobalObject* globalObject, JSCell* object)
 {
     VM& vm = globalObject->vm();
index 2b7f1d4..8fcfbcc 100644 (file)
@@ -213,6 +213,7 @@ void JIT_OPERATION operationWeakMapSet(VM*, JSCell*, JSCell*, EncodedJSValue, in
 double JIT_OPERATION operationFModOnInts(int32_t, int32_t) WTF_INTERNAL;
 size_t JIT_OPERATION operationObjectIsObject(JSGlobalObject*, JSCell*) WTF_INTERNAL;
 size_t JIT_OPERATION operationObjectIsFunction(JSGlobalObject*, JSCell*) WTF_INTERNAL;
+size_t JIT_OPERATION operationIsConstructor(JSGlobalObject*, EncodedJSValue) WTF_INTERNAL;
 JSCell* JIT_OPERATION operationTypeOfObject(JSGlobalObject*, JSCell*) WTF_INTERNAL;
 char* JIT_OPERATION operationAllocateSimplePropertyStorageWithInitialCapacity(VM*) WTF_INTERNAL;
 char* JIT_OPERATION operationAllocateSimplePropertyStorage(VM*, size_t newSize) WTF_INTERNAL;
index 2c941a1..d40abe2 100644 (file)
@@ -1040,6 +1040,7 @@ private:
         case IsObject:
         case IsObjectOrNull:
         case IsFunction:
+        case IsConstructor:
         case IsCellWithType:
         case IsTypedArrayView:
         case MatchStructure: {
index 8c73f55..1b4f609 100644 (file)
@@ -271,6 +271,7 @@ bool safeToExecute(AbstractStateType& state, Graph& graph, Node* node, bool igno
     case IsObject:
     case IsObjectOrNull:
     case IsFunction:
+    case IsConstructor:
     case IsCellWithType:
     case IsTypedArrayView:
     case TypeOf:
index 63687fe..2e4974e 100644 (file)
@@ -9453,6 +9453,18 @@ void SpeculativeJIT::compileIsFunction(Node* node)
     unblessedBooleanResult(resultGPR, node);
 }
 
+void SpeculativeJIT::compileIsConstructor(Node* node)
+{
+    JSValueOperand input(this, node->child1());
+    JSValueRegs inputRegs = input.jsValueRegs();
+    flushRegisters();
+    GPRFlushedCallResult result(this);
+    GPRReg resultGPR = result.gpr();
+
+    callOperation(operationIsConstructor, resultGPR, TrustedImmPtr::weakPointer(m_graph, m_graph.globalObjectFor(node->origin.semantic)), inputRegs);
+    unblessedBooleanResult(resultGPR, node);
+}
+
 void SpeculativeJIT::compileTypeOf(Node* node)
 {
     JSGlobalObject* globalObject = m_jit.graph().globalObjectFor(node->origin.semantic);
index e88259a..8be9d51 100644 (file)
@@ -1407,6 +1407,7 @@ public:
     void compileIsObject(Node*);
     void compileIsObjectOrNull(Node*);
     void compileIsFunction(Node*);
+    void compileIsConstructor(Node*);
     void compileTypeOf(Node*);
     void compileCheckIsConstant(Node*);
     void compileCheckNotEmpty(Node*);
index 60c991c..b51ebe1 100644 (file)
@@ -3718,6 +3718,11 @@ void SpeculativeJIT::compile(Node* node)
         break;
     }
 
+    case IsConstructor: {
+        compileIsConstructor(node);
+        break;
+    }
+
     case IsCellWithType: {
         compileIsCellWithType(node);
         break;
index 1f25905..418b99d 100644 (file)
@@ -4711,6 +4711,11 @@ void SpeculativeJIT::compile(Node* node)
         break;
     }
 
+    case IsConstructor: {
+        compileIsConstructor(node);
+        break;
+    }
+
     case IsCellWithType: {
         compileIsCellWithType(node);
         break;
index 0bd7277..26f45c2 100644 (file)
@@ -266,6 +266,7 @@ inline CapabilityLevel canCompile(Node* node)
     case IsObject:
     case IsObjectOrNull:
     case IsFunction:
+    case IsConstructor:
     case IsTypedArrayView:
     case CheckTypeInfoFlags:
     case OverridesHasInstance:
index 9670194..4cda15c 100644 (file)
@@ -1440,6 +1440,9 @@ private:
         case IsFunction:
             compileIsFunction();
             break;
+        case IsConstructor:
+            compileIsConstructor();
+            break;
         case IsTypedArrayView:
             compileIsTypedArrayView();
             break;
@@ -11690,6 +11693,13 @@ private:
         setBoolean(result);
     }
 
+    void compileIsConstructor()
+    {
+        JSGlobalObject* globalObject = m_graph.globalObjectFor(m_node->origin.semantic);
+        LValue value = lowJSValue(m_node->child1());
+        setBoolean(vmCall(Int32, operationIsConstructor, weakPointer(globalObject), value));
+    }
+
     void compileIsTypedArrayView()
     {
         LValue value = lowJSValue(m_node->child1());
index 94b0e56..f37054d 100644 (file)
@@ -292,6 +292,7 @@ void JIT::privateCompileMainPass()
         DEFINE_SLOW_OP(greater)
         DEFINE_SLOW_OP(greatereq)
         DEFINE_SLOW_OP(is_function)
+        DEFINE_SLOW_OP(is_constructor)
         DEFINE_SLOW_OP(is_object_or_null)
         DEFINE_SLOW_OP(typeof)
         DEFINE_SLOW_OP(strcat)
index 06e155e..fde531f 100644 (file)
@@ -1773,6 +1773,7 @@ slowPathOp(has_structure_property)
 slowPathOp(in_by_id)
 slowPathOp(in_by_val)
 slowPathOp(is_function)
+slowPathOp(is_constructor)
 slowPathOp(is_object_or_null)
 slowPathOp(less)
 slowPathOp(lesseq)
index 4a99a71..b226031 100644 (file)
@@ -835,6 +835,13 @@ SLOW_PATH_DECL(slow_path_is_function)
     RETURN(jsBoolean(GET_C(bytecode.m_operand).jsValue().isCallable(vm)));
 }
 
+SLOW_PATH_DECL(slow_path_is_constructor)
+{
+    BEGIN();
+    auto bytecode = pc->as<OpIsConstructor>();
+    RETURN(jsBoolean(GET_C(bytecode.m_operand).jsValue().isConstructor(vm)));
+}
+
 SLOW_PATH_DECL(slow_path_in_by_val)
 {
     BEGIN();
index a8248d4..84c1ab6 100644 (file)
@@ -244,6 +244,7 @@ SLOW_PATH_HIDDEN_DECL(slow_path_typeof);
 SLOW_PATH_HIDDEN_DECL(slow_path_is_object);
 SLOW_PATH_HIDDEN_DECL(slow_path_is_object_or_null);
 SLOW_PATH_HIDDEN_DECL(slow_path_is_function);
+SLOW_PATH_HIDDEN_DECL(slow_path_is_constructor);
 SLOW_PATH_HIDDEN_DECL(slow_path_in_by_id);
 SLOW_PATH_HIDDEN_DECL(slow_path_in_by_val);
 SLOW_PATH_HIDDEN_DECL(slow_path_del_by_val);
diff --git a/Source/JavaScriptCore/runtime/ECMAScriptSpecInternalFunctions.cpp b/Source/JavaScriptCore/runtime/ECMAScriptSpecInternalFunctions.cpp
deleted file mode 100644 (file)
index 5cfbfbf..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright (C) 2016 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "ECMAScriptSpecInternalFunctions.h"
-
-#include "CallFrame.h"
-#include "ConstructData.h"
-#include "JSCInlines.h"
-#include "RegExpObject.h"
-
-namespace JSC {
-
-EncodedJSValue JSC_HOST_CALL esSpecIsConstructor(JSGlobalObject* globalObject, CallFrame* callFrame)
-{
-    bool isConstructor = callFrame->uncheckedArgument(0).isConstructor(globalObject->vm());
-    return JSValue::encode(jsBoolean(isConstructor));
-}
-
-} // namespace JSC
diff --git a/Source/JavaScriptCore/runtime/ECMAScriptSpecInternalFunctions.h b/Source/JavaScriptCore/runtime/ECMAScriptSpecInternalFunctions.h
deleted file mode 100644 (file)
index b6a1cec..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright (C) 2016 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#pragma once
-
-#include "JSCJSValue.h"
-
-namespace JSC {
-
-EncodedJSValue JSC_HOST_CALL esSpecIsConstructor(JSGlobalObject*, CallFrame*);
-
-} // namespace JSC
index 6e68494..a34698f 100644 (file)
@@ -62,7 +62,6 @@
 #include "DebuggerScope.h"
 #include "DirectArguments.h"
 #include "DirectEvalExecutable.h"
-#include "ECMAScriptSpecInternalFunctions.h"
 #include "Error.h"
 #include "ErrorConstructor.h"
 #include "ErrorPrototype.h"
@@ -1148,9 +1147,6 @@ capitalName ## Constructor* lowerName ## Constructor = featureFlag ? capitalName
     m_linkTimeConstants[static_cast<unsigned>(LinkTimeConstant::thisTimeValue)].initLater([] (const Initializer<JSCell>& init) {
             init.set(JSFunction::create(init.vm, jsCast<JSGlobalObject*>(init.owner), 0, String(), dateProtoFuncGetTime, DatePrototypeGetTimeIntrinsic));
         });
-    m_linkTimeConstants[static_cast<unsigned>(LinkTimeConstant::isConstructor)].initLater([] (const Initializer<JSCell>& init) {
-            init.set(JSFunction::create(init.vm, jsCast<JSGlobalObject*>(init.owner), 1, String(), esSpecIsConstructor, NoIntrinsic));
-        });
     m_linkTimeConstants[static_cast<unsigned>(LinkTimeConstant::sameValue)].initLater([] (const Initializer<JSCell>& init) {
             init.set(JSFunction::create(init.vm, jsCast<JSGlobalObject*>(init.owner), 2, String(), objectConstructorIs, ObjectIsIntrinsic));
         });