Revert "bind-gen: Switch to the new IDL interface implementation"
This reverts commit e1dce34f9e52b908b6dfda35ffda5a2d5de3bfcf.
Reason for revert: Most critically due to https://crbug.com/1112227 but not limited to.
Original change's description:
> bind-gen: Switch to the new IDL interface implementation
>
> Blink-V8 bindings team has been developing the new improved
> Web IDL bindings system, and this patch enables the new
> bindings implementation of Web IDL interfaces at build time.
>
> Note that other IDL definitions (buffer source types,
> dictionaries, callback functions, etc.) are not affected and
> the old bindings are still used for them.
>
> The new IDL interface implementation is not 100% compatible
> with the old one, and we see the following changes/improvement
> that are visible from author script.
>
> Behavioral changes:
> - Cross origin attributes become accessor properties.
> - Indexed/named properties' behaviors change.
> - Legacy platform objects with indexed properties support
> @@iterator property.
> - Maplike supports size() operation.
> - [NoInterfaceObject] removes 'constructor' property.
> - Some of error messages change.
> For these changes, new behaviors are better conforming to
> Web IDL specification.
>
> Non-behavioral changes:
> - Keep-alive-GC optimization is removed.
>
> For performance, there is no major difference in speed perf
> and -17KB improvement in APK binary size.
>
> Pinpoint results
> https://pinpoint-dot-chromeperf.appspot.com/job/1230bdd8920000
> https://pinpoint-dot-chromeperf.appspot.com/job/14b5b5d0920000
> https://pinpoint-dot-chromeperf.appspot.com/job/12ca6424920000
> https://pinpoint-dot-chromeperf.appspot.com/job/14e3aa48920000
>
> Bug: 839389
> Change-Id: I9de8de3cc9e37b4ee46333c9270fe49bbdd69534
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2081633
> Commit-Queue: Yuki Shiino <yukishiino@chromium.org>
> Reviewed-by: Kent Tamura <tkent@chromium.org>
> Reviewed-by: Kentaro Hara <haraken@chromium.org>
> Reviewed-by: Hitoshi Yoshida <peria@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#793165}
TBR=peria@chromium.org,yukishiino@chromium.org,haraken@chromium.org,tkent@chromium.org
# Not skipping CQ checks because original CL landed > 1 day ago.
(cherry picked from commit 475a0b50b3d12398feccfb330410bedf9d0b49aa)
Bug: 839389
Change-Id: I797f9cde05ccd0132ff0fbe1a970634f8d152d28
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2335214
Reviewed-by: Yuki Shiino <yukishiino@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Hitoshi Yoshida <peria@chromium.org>
Commit-Queue: Yuki Shiino <yukishiino@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#794147}
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2335396
Reviewed-by: Krishna Govind <govind@chromium.org>
Cr-Commit-Position: refs/branch-heads/4221@{#3}
Cr-Branched-From: a5422cd3a75a1905722d64558ba0033532acddd9-refs/heads/master@{#793974}
diff --git a/third_party/blink/renderer/config.gni b/third_party/blink/renderer/config.gni
index e2b18ed..22e51ec7 100644
--- a/third_party/blink/renderer/config.gni
+++ b/third_party/blink/renderer/config.gni
@@ -42,7 +42,7 @@
# If true, the new implementation (experimental) of Blink-V8 bindings
# (of IDL interface) is used.
- use_blink_v8_binding_new_idl_interface = true
+ use_blink_v8_binding_new_idl_interface = false
}
# feature_defines_list ---------------------------------------------------------
diff --git a/third_party/blink/web_tests/animations/animationworklet/animator-registration.html b/third_party/blink/web_tests/animations/animationworklet/animator-registration.html
index bfafd033..d766cd6 100644
--- a/third_party/blink/web_tests/animations/animationworklet/animator-registration.html
+++ b/third_party/blink/web_tests/animations/animationworklet/animator-registration.html
@@ -19,7 +19,7 @@
</script>
<script id="no_class" type="text/worklet">
-const expectedError = "TypeError: Failed to execute 'registerAnimator' on 'AnimationWorkletGlobalScope': parameter 2 is not of type 'Function'."
+const expectedError = "The callback provided as parameter 2 is not a function";
let receivedError = undefined;
try {
registerAnimator("no_class", "");
diff --git a/third_party/blink/web_tests/bindings/idl-dictionary-unittest-expected.txt b/third_party/blink/web_tests/bindings/idl-dictionary-unittest-expected.txt
index 72b47a1..15ce8035 100644
--- a/third_party/blink/web_tests/bindings/idl-dictionary-unittest-expected.txt
+++ b/third_party/blink/web_tests/bindings/idl-dictionary-unittest-expected.txt
@@ -152,8 +152,8 @@
Test for passing invalid dictionary values
-PASS dictionaryTest.set(42) threw exception TypeError: Failed to execute 'set' on 'DictionaryTest': cannot convert to dictionary..
-PASS dictionaryTest.set('string') threw exception TypeError: Failed to execute 'set' on 'DictionaryTest': cannot convert to dictionary..
+PASS dictionaryTest.set(42) threw exception TypeError: Failed to execute 'set' on 'DictionaryTest': parameter 1 ('testingDictionary') is not an object..
+PASS dictionaryTest.set('string') threw exception TypeError: Failed to execute 'set' on 'DictionaryTest': parameter 1 ('testingDictionary') is not an object..
Test for [Clamp] and [EnforceRange] member
diff --git a/third_party/blink/web_tests/external/wpt/WebIDL/ecmascript-binding/constructors-expected.txt b/third_party/blink/web_tests/external/wpt/WebIDL/ecmascript-binding/constructors-expected.txt
index bf840da..ebb7dde 100644
--- a/third_party/blink/web_tests/external/wpt/WebIDL/ecmascript-binding/constructors-expected.txt
+++ b/third_party/blink/web_tests/external/wpt/WebIDL/ecmascript-binding/constructors-expected.txt
@@ -2,12 +2,12 @@
PASS Realm for constructed objects
PASS Normal constructor in parent window
PASS Normal constructor in child window
-PASS Constructor in child window with normal NewTarget from parent window
-PASS Constructor in parent window with normal NewTarget from child window
+FAIL Constructor in child window with normal NewTarget from parent window assert_equals: expected "child window" but got "parent window"
+FAIL Constructor in parent window with normal NewTarget from child window assert_equals: expected "parent window" but got "child window"
PASS Subclass constructor in parent window
PASS Subclass constructor in child window
-PASS Subclass constructor in parent window with parent class in child window
-PASS Subclass constructor in child window with parent class in parent window
+FAIL Subclass constructor in parent window with parent class in child window assert_equals: expected "child window" but got "parent window"
+FAIL Subclass constructor in child window with parent class in parent window assert_equals: expected "parent window" but got "child window"
FAIL Constructor in child window with bad NewTarget from parent window assert_equals: expected object "[object DOMParser]" but got object "[object Object]"
FAIL Constructor in parent window with bad NewTarget from child window assert_equals: expected object "[object DOMParser]" but got object "[object Object]"
FAIL Constructor in parent window with bad NewTarget from parent window that's a bound child window function assert_equals: expected object "[object DOMParser]" but got object "[object Object]"
diff --git a/third_party/blink/web_tests/external/wpt/css/css-animations/event-dispatch.tentative-expected.txt b/third_party/blink/web_tests/external/wpt/css/css-animations/event-dispatch.tentative-expected.txt
index 0feefd2..a4512f6 100644
--- a/third_party/blink/web_tests/external/wpt/css/css-animations/event-dispatch.tentative-expected.txt
+++ b/third_party/blink/web_tests/external/wpt/css/css-animations/event-dispatch.tentative-expected.txt
@@ -4,7 +4,7 @@
PASS Before -> Active
PASS Before -> After
PASS Active -> Idle, display: none
-FAIL Active -> Idle, setting Animation.timeline = null promise_test: Unhandled rejection with value: object "TypeError: Cannot set property timeline of #<Animation> which has only a getter"
+FAIL Active -> Idle, setting Animation.timeline = null promise_test: Unhandled rejection with value: object "TypeError: Cannot assign to read only property 'timeline' of object '#<CSSAnimation>'"
PASS Active -> Idle, calling Animation.cancel()
PASS Active -> Before
PASS Active -> After
@@ -23,7 +23,7 @@
PASS Call Animation.cancel after canceling animation.
PASS Restart animation after canceling animation immediately.
PASS Call Animation.cancel after restarting animation immediately.
-FAIL Set timeline and play transition after clearing the timeline. promise_test: Unhandled rejection with value: object "TypeError: Cannot set property timeline of #<Animation> which has only a getter"
+FAIL Set timeline and play transition after clearing the timeline. promise_test: Unhandled rejection with value: object "TypeError: Cannot assign to read only property 'timeline' of object '#<CSSAnimation>'"
PASS Set null target effect after canceling the animation.
PASS Cancel the animation after clearing the target effect.
Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/css/css-transitions/event-dispatch.tentative-expected.txt b/third_party/blink/web_tests/external/wpt/css/css-transitions/event-dispatch.tentative-expected.txt
index cbabf0d1..180a68fa 100644
--- a/third_party/blink/web_tests/external/wpt/css/css-transitions/event-dispatch.tentative-expected.txt
+++ b/third_party/blink/web_tests/external/wpt/css/css-transitions/event-dispatch.tentative-expected.txt
@@ -4,15 +4,15 @@
PASS Idle or Pending -> Active
PASS Idle or Pending -> After
PASS Before -> Idle (display: none)
-FAIL Before -> Idle (Animation.timeline = null) promise_test: Unhandled rejection with value: object "TypeError: Cannot set property timeline of #<Animation> which has only a getter"
+FAIL Before -> Idle (Animation.timeline = null) promise_test: Unhandled rejection with value: object "TypeError: Cannot assign to read only property 'timeline' of object '#<CSSTransition>'"
PASS Before -> Active
PASS Before -> After
PASS Active -> Idle, no delay (display: none)
-FAIL Active -> Idle, no delay (Animation.timeline = null) promise_test: Unhandled rejection with value: object "TypeError: Cannot set property timeline of #<Animation> which has only a getter"
+FAIL Active -> Idle, no delay (Animation.timeline = null) promise_test: Unhandled rejection with value: object "TypeError: Cannot assign to read only property 'timeline' of object '#<CSSTransition>'"
PASS Active -> Idle, with positive delay (display: none)
-FAIL Active -> Idle, with positive delay (Animation.timeline = null) promise_test: Unhandled rejection with value: object "TypeError: Cannot set property timeline of #<Animation> which has only a getter"
+FAIL Active -> Idle, with positive delay (Animation.timeline = null) promise_test: Unhandled rejection with value: object "TypeError: Cannot assign to read only property 'timeline' of object '#<CSSTransition>'"
PASS Active -> Idle, with negative delay (display: none)
-FAIL Active -> Idle, with negative delay (Animation.timeline = null) promise_test: Unhandled rejection with value: object "TypeError: Cannot set property timeline of #<Animation> which has only a getter"
+FAIL Active -> Idle, with negative delay (Animation.timeline = null) promise_test: Unhandled rejection with value: object "TypeError: Cannot assign to read only property 'timeline' of object '#<CSSTransition>'"
PASS Active -> Before
PASS Active -> After
PASS After -> Before
@@ -22,7 +22,7 @@
PASS Call Animation.cancel after canceling transition.
PASS Restart transition after canceling transition immediately
PASS Call Animation.cancel after restarting transition immediately
-FAIL Set timeline and play transition after clear the timeline promise_test: Unhandled rejection with value: object "TypeError: Cannot set property timeline of #<Animation> which has only a getter"
+FAIL Set timeline and play transition after clear the timeline promise_test: Unhandled rejection with value: object "TypeError: Cannot assign to read only property 'timeline' of object '#<CSSTransition>'"
PASS Set null target effect after canceling the transition
PASS Cancel the transition after clearing the target effect
Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/dom/collections/HTMLCollection-delete-expected.txt b/third_party/blink/web_tests/external/wpt/dom/collections/HTMLCollection-delete-expected.txt
new file mode 100644
index 0000000..4e83310
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/dom/collections/HTMLCollection-delete-expected.txt
@@ -0,0 +1,13 @@
+This is a testharness.js-based test.
+PASS Loose id
+FAIL Strict id assert_throws_js: function "function() {
+ "use strict";
+ delete c[0];
+ }" did not throw
+PASS Loose name
+FAIL Strict name assert_throws_js: function "function() {
+ "use strict";
+ delete c.foo;
+ }" did not throw
+Harness: the test ran to completion.
+
diff --git a/third_party/blink/web_tests/external/wpt/dom/collections/HTMLCollection-own-props-expected.txt b/third_party/blink/web_tests/external/wpt/dom/collections/HTMLCollection-own-props-expected.txt
new file mode 100644
index 0000000..4d2dd7f
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/dom/collections/HTMLCollection-own-props-expected.txt
@@ -0,0 +1,13 @@
+This is a testharness.js-based test.
+FAIL Setting non-array index while named property exists (loose) assert_equals: expected (object) Element node <a id="named"></a> but got (string) "foo"
+FAIL Setting non-array index while named property exists (strict) assert_throws_js: function "function() {
+ c[name] = "foo";
+ }" did not throw
+PASS Setting non-array index while named property doesn't exist (loose)
+PASS Setting non-array index while named property doesn't exist (strict)
+PASS Setting array index while indexed property exists (loose)
+PASS Setting array index while indexed property exists (strict)
+PASS Setting array index while indexed property doesn't exist (loose)
+PASS Setting array index while indexed property doesn't exist (strict)
+Harness: the test ran to completion.
+
diff --git a/third_party/blink/web_tests/external/wpt/dom/collections/HTMLCollection-supported-property-indices-expected.txt b/third_party/blink/web_tests/external/wpt/dom/collections/HTMLCollection-supported-property-indices-expected.txt
new file mode 100644
index 0000000..be034fa
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/dom/collections/HTMLCollection-supported-property-indices-expected.txt
@@ -0,0 +1,16 @@
+This is a testharness.js-based test.
+PASS Handling of property names that look like negative integers
+PASS Handling of property names that look like small nonnegative integers
+PASS Handling of property names that look like integers around 2^31
+PASS Handling of property names that look like integers around 2^32
+FAIL Trying to set an expando that would shadow an already-existing indexed property assert_throws_js: function "function() {
+ "use strict";
+ delete elements[0];
+ }" did not throw
+PASS Trying to set an expando with an indexed property name past the end of the list
+FAIL Trying to delete an indexed property name should never work assert_throws_js: function "function() {
+ "use strict";
+ delete elements[0];
+ }" did not throw
+Harness: the test ran to completion.
+
diff --git a/third_party/blink/web_tests/external/wpt/dom/collections/HTMLCollection-supported-property-names-expected.txt b/third_party/blink/web_tests/external/wpt/dom/collections/HTMLCollection-supported-property-names-expected.txt
new file mode 100644
index 0000000..30d2dd4
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/dom/collections/HTMLCollection-supported-property-names-expected.txt
@@ -0,0 +1,9 @@
+This is a testharness.js-based test.
+PASS Object.getOwnPropertyNames on HTMLCollection
+PASS Object.getOwnPropertyNames on HTMLCollection with non-HTML namespace
+PASS Object.getOwnPropertyNames on HTMLCollection with expando object
+FAIL Trying to set an expando that would shadow an already-existing named property assert_equals: expected (object) Element node <span id="some-id"></span> but got (number) 5
+PASS Trying to set an expando that shadows a named property that gets added later
+PASS Trying to set a non-configurable expando that shadows a named property that gets added later
+Harness: the test ran to completion.
+
diff --git a/third_party/blink/web_tests/external/wpt/dom/idlharness.window_exclude=Node-expected.txt b/third_party/blink/web_tests/external/wpt/dom/idlharness.window_exclude=Node-expected.txt
index 58f17fc2..0aa1687 100644
--- a/third_party/blink/web_tests/external/wpt/dom/idlharness.window_exclude=Node-expected.txt
+++ b/third_party/blink/web_tests/external/wpt/dom/idlharness.window_exclude=Node-expected.txt
@@ -1,5 +1,5 @@
This is a testharness.js-based test.
-Found 1252 tests; 1232 PASS, 20 FAIL, 0 TIMEOUT, 0 NOTRUN.
+Found 1252 tests; 1228 PASS, 24 FAIL, 0 TIMEOUT, 0 NOTRUN.
PASS idl_test setup
PASS idl_test validation
PASS Partial interface Window: original interface defined
@@ -261,7 +261,7 @@
PASS Document interface object name
PASS Document interface: existence and properties of interface prototype object
PASS Document interface: existence and properties of interface prototype object's "constructor" property
-FAIL Document interface: existence and properties of interface prototype object's @@unscopables property assert_not_equals: Document.prototype[Symbol.unscopables] has unexpected property "fullscreen" got disallowed value -1
+FAIL Document interface: existence and properties of interface prototype object's @@unscopables property assert_false: Document.prototype[Symbol.unscopables] should not be writable expected false got true
PASS Document interface: attribute implementation
PASS Document interface: attribute URL
PASS Document interface: attribute documentURI
@@ -481,7 +481,7 @@
PASS DocumentType interface object name
PASS DocumentType interface: existence and properties of interface prototype object
PASS DocumentType interface: existence and properties of interface prototype object's "constructor" property
-PASS DocumentType interface: existence and properties of interface prototype object's @@unscopables property
+FAIL DocumentType interface: existence and properties of interface prototype object's @@unscopables property assert_false: DocumentType.prototype[Symbol.unscopables] should not be writable expected false got true
PASS DocumentType interface: attribute name
PASS DocumentType interface: attribute publicId
PASS DocumentType interface: attribute systemId
@@ -512,7 +512,7 @@
PASS DocumentFragment interface object name
PASS DocumentFragment interface: existence and properties of interface prototype object
PASS DocumentFragment interface: existence and properties of interface prototype object's "constructor" property
-PASS DocumentFragment interface: existence and properties of interface prototype object's @@unscopables property
+FAIL DocumentFragment interface: existence and properties of interface prototype object's @@unscopables property assert_false: DocumentFragment.prototype[Symbol.unscopables] should not be writable expected false got true
PASS DocumentFragment interface: operation getElementById(DOMString)
PASS DocumentFragment interface: attribute children
PASS DocumentFragment interface: attribute firstElementChild
@@ -561,7 +561,7 @@
PASS Element interface object name
PASS Element interface: existence and properties of interface prototype object
PASS Element interface: existence and properties of interface prototype object's "constructor" property
-PASS Element interface: existence and properties of interface prototype object's @@unscopables property
+FAIL Element interface: existence and properties of interface prototype object's @@unscopables property assert_false: Element.prototype[Symbol.unscopables] should not be writable expected false got true
PASS Element interface: attribute namespaceURI
PASS Element interface: attribute prefix
PASS Element interface: attribute localName
@@ -750,7 +750,7 @@
PASS CharacterData interface object name
PASS CharacterData interface: existence and properties of interface prototype object
PASS CharacterData interface: existence and properties of interface prototype object's "constructor" property
-PASS CharacterData interface: existence and properties of interface prototype object's @@unscopables property
+FAIL CharacterData interface: existence and properties of interface prototype object's @@unscopables property assert_false: CharacterData.prototype[Symbol.unscopables] should not be writable expected false got true
PASS CharacterData interface: attribute data
PASS CharacterData interface: attribute length
PASS CharacterData interface: operation substringData(unsigned long, unsigned long)
diff --git a/third_party/blink/web_tests/external/wpt/html/browsers/browsing-the-web/history-traversal/api-availability-expected.txt b/third_party/blink/web_tests/external/wpt/html/browsers/browsing-the-web/history-traversal/api-availability-expected.txt
new file mode 100644
index 0000000..8676e6ed
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/html/browsers/browsing-the-web/history-traversal/api-availability-expected.txt
@@ -0,0 +1,4 @@
+This is a testharness.js-based test.
+FAIL API availability following history traversal Cannot read property 'history' of null
+Harness: the test ran to completion.
+
diff --git a/third_party/blink/web_tests/external/wpt/html/browsers/history/the-location-interface/location-protocol-setter-non-broken-expected.txt b/third_party/blink/web_tests/external/wpt/html/browsers/history/the-location-interface/location-protocol-setter-non-broken-expected.txt
index 4d1f8a9a..73507dc 100644
--- a/third_party/blink/web_tests/external/wpt/html/browsers/history/the-location-interface/location-protocol-setter-non-broken-expected.txt
+++ b/third_party/blink/web_tests/external/wpt/html/browsers/history/the-location-interface/location-protocol-setter-non-broken-expected.txt
@@ -7,6 +7,8 @@
PASS Set data URL frame location.protocol to file
PASS Set HTTP URL frame location.protocol to ftp
PASS Set data URL frame location.protocol to ftp
+PASS Set HTTP URL frame location.protocol to gopher
+PASS Set data URL frame location.protocol to gopher
PASS Set HTTP URL frame location.protocol to http+x
PASS Set data URL frame location.protocol to http+x
Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/html/browsers/history/the-location-interface/location-prototype-setting-same-origin-expected.txt b/third_party/blink/web_tests/external/wpt/html/browsers/history/the-location-interface/location-prototype-setting-same-origin-expected.txt
new file mode 100644
index 0000000..f1e424f8
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/html/browsers/history/the-location-interface/location-prototype-setting-same-origin-expected.txt
@@ -0,0 +1,15 @@
+This is a testharness.js-based test.
+PASS Same-origin prerequisite check: the original prototype is accessible
+FAIL Same-origin: setting the prototype to an empty object via Object.setPrototypeOf should throw a TypeError assert_throws_js: function "() => {
+ Object.setPrototypeOf(target, newValue);
+ }" did not throw
+FAIL Same-origin: setting the prototype to an empty object via __proto__ should throw a TypeError assert_throws_js: function "function() {
+ target.__proto__ = newValue;
+ }" did not throw
+FAIL Same-origin: setting the prototype to an empty object via Reflect.setPrototypeOf should return false assert_false: expected false got true
+FAIL Same-origin: the prototype must still be its original value assert_equals: expected object "[object Location]" but got object "[object Object]"
+PASS Same-origin: setting the prototype to its original value via Object.setPrototypeOf should not throw
+PASS Same-origin: setting the prototype to its original value via __proto__ should not throw
+PASS Same-origin: setting the prototype to its original value via Reflect.setPrototypeOf should return true
+Harness: the test ran to completion.
+
diff --git a/third_party/blink/web_tests/external/wpt/html/browsers/history/the-location-interface/location-stringifier-expected.txt b/third_party/blink/web_tests/external/wpt/html/browsers/history/the-location-interface/location-stringifier-expected.txt
new file mode 100644
index 0000000..59612a1b
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/html/browsers/history/the-location-interface/location-stringifier-expected.txt
@@ -0,0 +1,9 @@
+This is a testharness.js-based test.
+PASS Location stringifier
+PASS Location stringifier 1
+PASS Location stringifier 2
+PASS Location stringifier 3
+PASS Location stringifier 4
+FAIL Location stringifier 5 assert_equals: expected "function" but got "undefined"
+Harness: the test ran to completion.
+
diff --git a/third_party/blink/web_tests/external/wpt/html/browsers/history/the-location-interface/location-valueof-expected.txt b/third_party/blink/web_tests/external/wpt/html/browsers/history/the-location-interface/location-valueof-expected.txt
new file mode 100644
index 0000000..1086fb9
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/html/browsers/history/the-location-interface/location-valueof-expected.txt
@@ -0,0 +1,4 @@
+This is a testharness.js-based test.
+FAIL Location valueOf assert_equals: expected function "function valueOf() { [native code] }" but got function "function valueOf() { [native code] }"
+Harness: the test ran to completion.
+
diff --git a/third_party/blink/web_tests/external/wpt/html/browsers/the-window-object/named-access-on-the-window-object/prototype-expected.txt b/third_party/blink/web_tests/external/wpt/html/browsers/the-window-object/named-access-on-the-window-object/prototype-expected.txt
new file mode 100644
index 0000000..312d0a1
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/html/browsers/the-window-object/named-access-on-the-window-object/prototype-expected.txt
@@ -0,0 +1,7 @@
+This is a testharness.js-based test.
+PASS Property on window.
+PASS Property on Window.prototype.
+FAIL Property on EventTarget.prototype. assert_equals: expected (undefined) undefined but got (object) object "[object Object]"
+FAIL Property on Object.prototype. assert_equals: expected (undefined) undefined but got (object) object "[object Object]"
+Harness: the test ran to completion.
+
diff --git a/third_party/blink/web_tests/external/wpt/html/browsers/the-window-object/window-indexed-properties-expected.txt b/third_party/blink/web_tests/external/wpt/html/browsers/the-window-object/window-indexed-properties-expected.txt
new file mode 100644
index 0000000..f958b38
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/html/browsers/the-window-object/window-indexed-properties-expected.txt
@@ -0,0 +1,8 @@
+This is a testharness.js-based test.
+PASS Indexed properties of the window object (non-strict mode)
+PASS Ensure indexed properties have the correct configuration
+FAIL Indexed properties of the window object (non-strict mode) 1 assert_equals: expected false but got true
+PASS Indexed properties of the window object (non-strict mode) 2
+PASS Indexed properties of the window object (non-strict mode) 3
+Harness: the test ran to completion.
+
diff --git a/third_party/blink/web_tests/external/wpt/html/browsers/the-window-object/window-indexed-properties-strict-expected.txt b/third_party/blink/web_tests/external/wpt/html/browsers/the-window-object/window-indexed-properties-strict-expected.txt
new file mode 100644
index 0000000..24149dd
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/html/browsers/the-window-object/window-indexed-properties-strict-expected.txt
@@ -0,0 +1,7 @@
+This is a testharness.js-based test.
+PASS Indexed properties of the window object (strict mode)
+FAIL Indexed properties of the window object (strict mode) 1 assert_throws_js: function "() => delete window[0]" did not throw
+PASS Indexed properties of the window object (strict mode) 2
+PASS Indexed properties of the window object (strict mode) 3
+Harness: the test ran to completion.
+
diff --git a/third_party/blink/web_tests/external/wpt/html/browsers/the-window-object/window-properties.https-expected.txt b/third_party/blink/web_tests/external/wpt/html/browsers/the-window-object/window-properties.https-expected.txt
index 90301e0..76418e8 100644
--- a/third_party/blink/web_tests/external/wpt/html/browsers/the-window-object/window-properties.https-expected.txt
+++ b/third_party/blink/web_tests/external/wpt/html/browsers/the-window-object/window-properties.https-expected.txt
@@ -1,5 +1,5 @@
This is a testharness.js-based test.
-Found 174 tests; 173 PASS, 1 FAIL, 0 TIMEOUT, 0 NOTRUN.
+Found 174 tests; 165 PASS, 9 FAIL, 0 TIMEOUT, 0 NOTRUN.
PASS Value Properties of the Global Object
PASS Value Property: NaN
PASS Value Property: Infinity
@@ -75,7 +75,7 @@
PASS Window readonly attribute: localStorage
PASS Window attribute: name
PASS Window attribute: status
-PASS Window attribute: opener
+FAIL Window attribute: opener assert_equals: expected "function" but got "undefined"
PASS Window attribute: onabort
PASS Window attribute: onafterprint
PASS Window attribute: onbeforeprint
@@ -143,21 +143,21 @@
PASS Window attribute: onunload
PASS Window attribute: onvolumechange
PASS Window attribute: onwaiting
-PASS Window unforgeable attribute: window
+FAIL Window unforgeable attribute: window assert_equals: expected "function" but got "undefined"
PASS Window unforgeable attribute: document
-PASS Window unforgeable attribute: location
-PASS Window unforgeable attribute: top
-PASS Window replaceable attribute: self
+FAIL Window unforgeable attribute: location assert_equals: expected "function" but got "undefined"
+FAIL Window unforgeable attribute: top assert_equals: expected "function" but got "undefined"
+FAIL Window replaceable attribute: self assert_equals: expected "function" but got "undefined"
PASS Window replaceable attribute: locationbar
PASS Window replaceable attribute: menubar
PASS Window replaceable attribute: personalbar
PASS Window replaceable attribute: scrollbars
PASS Window replaceable attribute: statusbar
PASS Window replaceable attribute: toolbar
-PASS Window replaceable attribute: frames
-PASS Window replaceable attribute: parent
+FAIL Window replaceable attribute: frames assert_equals: expected "function" but got "undefined"
+FAIL Window replaceable attribute: parent assert_equals: expected "function" but got "undefined"
PASS Window replaceable attribute: external
-PASS Window replaceable attribute: length
+FAIL Window replaceable attribute: length assert_equals: expected "function" but got "undefined"
PASS Window replaceable attribute: origin
PASS Window replaceable attribute: screen
PASS Window replaceable attribute: scrollX
diff --git a/third_party/blink/web_tests/external/wpt/html/browsers/windows/auxiliary-browsing-contexts/opener-setter.window-expected.txt b/third_party/blink/web_tests/external/wpt/html/browsers/windows/auxiliary-browsing-contexts/opener-setter.window-expected.txt
new file mode 100644
index 0000000..8dfee380
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/html/browsers/windows/auxiliary-browsing-contexts/opener-setter.window-expected.txt
@@ -0,0 +1,10 @@
+This is a testharness.js-based test.
+FAIL Setting window.opener to undefined assert_own_property: expected property "get" missing
+FAIL Setting window.opener to 42 assert_own_property: expected property "get" missing
+FAIL Setting window.opener to function() { return "hi" } assert_own_property: expected property "get" missing
+FAIL Setting window.opener to hi assert_own_property: expected property "get" missing
+FAIL Setting window.opener to [object Object] assert_own_property: expected property "get" missing
+FAIL Setting window.opener to assert_own_property: expected property "get" missing
+FAIL Setting window.opener to Symbol() assert_own_property: expected property "get" missing
+Harness: the test ran to completion.
+
diff --git a/third_party/blink/web_tests/external/wpt/html/browsers/windows/embedded-opener-expected.txt b/third_party/blink/web_tests/external/wpt/html/browsers/windows/embedded-opener-expected.txt
new file mode 100644
index 0000000..16481744
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/html/browsers/windows/embedded-opener-expected.txt
@@ -0,0 +1,4 @@
+This is a testharness.js-based test.
+FAIL opener and embedded documents; using window.open() openerGet is not a function
+Harness: the test ran to completion.
+
diff --git a/third_party/blink/web_tests/external/wpt/html/browsers/windows/embedded-opener-remove-frame-expected.txt b/third_party/blink/web_tests/external/wpt/html/browsers/windows/embedded-opener-remove-frame-expected.txt
index 36c9182..1d304732 100644
--- a/third_party/blink/web_tests/external/wpt/html/browsers/windows/embedded-opener-remove-frame-expected.txt
+++ b/third_party/blink/web_tests/external/wpt/html/browsers/windows/embedded-opener-remove-frame-expected.txt
@@ -1,5 +1,5 @@
This is a testharness.js-based test.
-FAIL opener of discarded nested browsing context assert_equals: expected (string) "immaterial" but got (undefined) undefined
-FAIL opener of discarded auxiliary browsing context assert_equals: expected (string) "immaterial" but got (undefined) undefined
+FAIL opener of discarded nested browsing context openerGet is not a function
+FAIL opener of discarded auxiliary browsing context openerGet is not a function
Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/html/canvas/offscreen/the-offscreen-canvas/2d.getcontext.extraargs-expected.txt b/third_party/blink/web_tests/external/wpt/html/canvas/offscreen/the-offscreen-canvas/2d.getcontext.extraargs-expected.txt
new file mode 100644
index 0000000..7212cb8
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/html/canvas/offscreen/the-offscreen-canvas/2d.getcontext.extraargs-expected.txt
@@ -0,0 +1,4 @@
+This is a testharness.js-based test.
+FAIL The 2D context ignores extra getContext arguments Failed to execute 'getContext' on 'OffscreenCanvas': parameter 2 ('attributes') is not an object.
+Harness: the test ran to completion.
+
diff --git a/third_party/blink/web_tests/external/wpt/html/dom/elements/global-attributes/dataset-binding.window-expected.txt b/third_party/blink/web_tests/external/wpt/html/dom/elements/global-attributes/dataset-binding.window-expected.txt
new file mode 100644
index 0000000..0f3419e
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/html/dom/elements/global-attributes/dataset-binding.window-expected.txt
@@ -0,0 +1,7 @@
+This is a testharness.js-based test.
+FAIL Getting property descriptor for key 9 assert_equals: expected "value for Getting property descriptor for key 9" but got "9"
+PASS Setting property for key 9 with accessor property on prototype
+PASS Getting property descriptor for key x
+PASS Setting property for key x with accessor property on prototype
+Harness: the test ran to completion.
+
diff --git "a/third_party/blink/web_tests/external/wpt/html/dom/idlharness.https_exclude=\050Document_Window_HTML._\051-expected.txt" "b/third_party/blink/web_tests/external/wpt/html/dom/idlharness.https_exclude=\050Document_Window_HTML._\051-expected.txt"
index 7968f855..9f3049c 100644
--- "a/third_party/blink/web_tests/external/wpt/html/dom/idlharness.https_exclude=\050Document_Window_HTML._\051-expected.txt"
+++ "b/third_party/blink/web_tests/external/wpt/html/dom/idlharness.https_exclude=\050Document_Window_HTML._\051-expected.txt"
@@ -1,5 +1,5 @@
This is a testharness.js-based test.
-Found 1412 tests; 1328 PASS, 84 FAIL, 0 TIMEOUT, 0 NOTRUN.
+Found 1412 tests; 1327 PASS, 85 FAIL, 0 TIMEOUT, 0 NOTRUN.
PASS idl_test setup
PASS idl_test validation
PASS Partial interface Document: original interface defined
@@ -889,7 +889,7 @@
FAIL Location interface: stringifier assert_own_property: interface prototype object missing non-static operation expected property "toString" missing
PASS Location must be primary interface of window.location
PASS Stringification of window.location
-PASS Location interface: window.location must have own property "href"
+FAIL Location interface: window.location must have own property "href" assert_false: property descriptor should not have a "value" field expected false got true
PASS Location interface: window.location must have own property "origin"
PASS Location interface: window.location must have own property "protocol"
PASS Location interface: window.location must have own property "host"
diff --git "a/third_party/blink/web_tests/external/wpt/html/dom/idlharness.https_include=\050Document_Window\051-expected.txt" "b/third_party/blink/web_tests/external/wpt/html/dom/idlharness.https_include=\050Document_Window\051-expected.txt"
index ecc0d989..2a60f996 100644
--- "a/third_party/blink/web_tests/external/wpt/html/dom/idlharness.https_include=\050Document_Window\051-expected.txt"
+++ "b/third_party/blink/web_tests/external/wpt/html/dom/idlharness.https_include=\050Document_Window\051-expected.txt"
@@ -1,5 +1,5 @@
This is a testharness.js-based test.
-Found 963 tests; 946 PASS, 17 FAIL, 0 TIMEOUT, 0 NOTRUN.
+Found 963 tests; 937 PASS, 26 FAIL, 0 TIMEOUT, 0 NOTRUN.
PASS idl_test setup
PASS idl_test validation
PASS Partial interface Document: original interface defined
@@ -180,7 +180,7 @@
PASS Window interface: internal [[SetPrototypeOf]] method of interface prototype object - setting to its original value via Reflect.setPrototypeOf should return true
PASS Window interface: existence and properties of interface prototype object's "constructor" property
PASS Window interface: existence and properties of interface prototype object's @@unscopables property
-PASS Window interface: attribute self
+FAIL Window interface: attribute self assert_equals: "self" must have a getter expected "function" but got "undefined"
PASS Window interface: attribute name
PASS Window interface: attribute history
PASS Window interface: attribute customElements
@@ -192,14 +192,14 @@
PASS Window interface: attribute toolbar
PASS Window interface: attribute status
PASS Window interface: operation close()
-PASS Window interface: attribute closed
+FAIL Window interface: attribute closed assert_equals: "closed" must have a getter expected "function" but got "undefined"
PASS Window interface: operation stop()
PASS Window interface: operation focus()
PASS Window interface: operation blur()
-PASS Window interface: attribute frames
-PASS Window interface: attribute length
-PASS Window interface: attribute opener
-PASS Window interface: attribute parent
+FAIL Window interface: attribute frames assert_equals: "frames" must have a getter expected "function" but got "undefined"
+FAIL Window interface: attribute length assert_equals: "length" must have a getter expected "function" but got "undefined"
+FAIL Window interface: attribute opener assert_equals: "opener" must have a getter expected "function" but got "undefined"
+FAIL Window interface: attribute parent assert_equals: "parent" must have a getter expected "function" but got "undefined"
PASS Window interface: attribute frameElement
PASS Window interface: operation open(optional USVString, optional DOMString, optional DOMString)
PASS Window interface: attribute navigator
@@ -319,11 +319,11 @@
PASS Window interface: internal [[SetPrototypeOf]] method of global platform object - setting to its original value via Reflect.setPrototypeOf should return true
PASS Window must be primary interface of window
PASS Stringification of window
-PASS Window interface: window must have own property "window"
+FAIL Window interface: window must have own property "window" assert_false: property descriptor should not have a "value" field expected false got true
PASS Window interface: window must inherit property "self" with the proper type
PASS Window interface: window must have own property "document"
PASS Window interface: window must inherit property "name" with the proper type
-PASS Window interface: window must have own property "location"
+FAIL Window interface: window must have own property "location" assert_false: property descriptor should not have a "value" field expected false got true
PASS Window interface: window must inherit property "history" with the proper type
PASS Window interface: window must inherit property "customElements" with the proper type
PASS Window interface: window must inherit property "locationbar" with the proper type
@@ -340,7 +340,7 @@
PASS Window interface: window must inherit property "blur()" with the proper type
PASS Window interface: window must inherit property "frames" with the proper type
PASS Window interface: window must inherit property "length" with the proper type
-PASS Window interface: window must have own property "top"
+FAIL Window interface: window must have own property "top" assert_false: property descriptor should not have a "value" field expected false got true
PASS Window interface: window must inherit property "opener" with the proper type
PASS Window interface: window must inherit property "parent" with the proper type
PASS Window interface: window must inherit property "frameElement" with the proper type
diff --git a/third_party/blink/web_tests/external/wpt/html/semantics/forms/the-form-element/form-indexed-element-expected.txt b/third_party/blink/web_tests/external/wpt/html/semantics/forms/the-form-element/form-indexed-element-expected.txt
new file mode 100644
index 0000000..c25ec2f
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/html/semantics/forms/the-form-element/form-indexed-element-expected.txt
@@ -0,0 +1,8 @@
+This is a testharness.js-based test.
+PASS form.elements should be accessed correctly by index
+FAIL Trying to delete an indexed property name should never work assert_throws_js: function "function() {
+ "use strict";
+ delete form[0];
+ }" did not throw
+Harness: the test ran to completion.
+
diff --git a/third_party/blink/web_tests/external/wpt/html/semantics/forms/the-form-element/form-nameditem-expected.txt b/third_party/blink/web_tests/external/wpt/html/semantics/forms/the-form-element/form-nameditem-expected.txt
index 9075895..86a0d67 100644
--- a/third_party/blink/web_tests/external/wpt/html/semantics/forms/the-form-element/form-nameditem-expected.txt
+++ b/third_party/blink/web_tests/external/wpt/html/semantics/forms/the-form-element/form-nameditem-expected.txt
@@ -1,7 +1,7 @@
This is a testharness.js-based test.
PASS Forms should not have an item method
PASS Forms should not have a namedItem method
-PASS Name for a single element should work
+FAIL Name for a single element should work assert_false: expected false got true
PASS Calling item() on the NodeList returned from the named getter should work
PASS Indexed getter on the NodeList returned from the named getter should work
PASS Invoking a legacycaller on the NodeList returned from the named getter should not work
@@ -10,12 +10,9 @@
PASS Named items outside the form should not be returned (no children)
PASS Named items outside the form should not be returned (one child)
PASS The form attribute should be taken into account for named getters (single element)
-PASS The form attribute should be taken into account for named getters (multiple elements)
+FAIL The form attribute should be taken into account for named getters (multiple elements) assert_false: expected false got true
PASS Input should only be a named property on the innermost form that contains it
-FAIL Trying to set an expando that would shadow an already-existing named property assert_throws_js: function "function() {
- "use strict";
- delete form["l1"];
- }" did not throw
+FAIL Trying to set an expando that would shadow an already-existing named property assert_false: expected false got true
FAIL Trying to set an expando that shadows a named property that gets added later assert_equals: expected (number) 5 but got (object) Element node <input name="new-name"></input>
FAIL Trying to set a non-configurable expando that shadows a named property that gets added later assert_equals: expected (number) 5 but got (object) Element node <input name="new-name2"></input>
PASS Past names map should work correctly
diff --git a/third_party/blink/web_tests/external/wpt/native-file-system/idlharness.https.any-expected.txt b/third_party/blink/web_tests/external/wpt/native-file-system/idlharness.https.any-expected.txt
new file mode 100644
index 0000000..fd08a2bb
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/native-file-system/idlharness.https.any-expected.txt
@@ -0,0 +1,62 @@
+This is a testharness.js-based test.
+Found 58 tests; 57 PASS, 1 FAIL, 0 TIMEOUT, 0 NOTRUN.
+PASS idl_test setup
+PASS idl_test validation
+PASS Partial interface Window: original interface defined
+PASS Partial interface Window: member names are unique
+PASS Partial interface mixin WindowOrWorkerGlobalScope: original interface mixin defined
+PASS Partial interface mixin WindowOrWorkerGlobalScope: member names are unique
+PASS Partial interface Window[2]: member names are unique
+PASS Window includes GlobalEventHandlers: member names are unique
+PASS Window includes WindowEventHandlers: member names are unique
+PASS Window includes WindowOrWorkerGlobalScope: member names are unique
+PASS Window includes AnimationFrameProvider: member names are unique
+PASS Window includes WindowSessionStorage: member names are unique
+PASS Window includes WindowLocalStorage: member names are unique
+PASS WorkerGlobalScope includes WindowOrWorkerGlobalScope: member names are unique
+PASS FileSystemHandle interface: existence and properties of interface object
+PASS FileSystemHandle interface object length
+PASS FileSystemHandle interface object name
+PASS FileSystemHandle interface: existence and properties of interface prototype object
+PASS FileSystemHandle interface: existence and properties of interface prototype object's "constructor" property
+PASS FileSystemHandle interface: existence and properties of interface prototype object's @@unscopables property
+PASS FileSystemHandle interface: attribute kind
+PASS FileSystemHandle interface: attribute name
+PASS FileSystemHandle interface: operation isSameEntry(FileSystemHandle)
+PASS FileSystemHandle interface: operation queryPermission(optional FileSystemHandlePermissionDescriptor)
+PASS FileSystemHandle interface: operation requestPermission(optional FileSystemHandlePermissionDescriptor)
+PASS FileSystemFileHandle interface: existence and properties of interface object
+PASS FileSystemFileHandle interface object length
+PASS FileSystemFileHandle interface object name
+PASS FileSystemFileHandle interface: existence and properties of interface prototype object
+PASS FileSystemFileHandle interface: existence and properties of interface prototype object's "constructor" property
+PASS FileSystemFileHandle interface: existence and properties of interface prototype object's @@unscopables property
+PASS FileSystemFileHandle interface: operation getFile()
+PASS FileSystemFileHandle interface: operation createWritable(optional FileSystemCreateWritableOptions)
+PASS FileSystemDirectoryHandle interface: existence and properties of interface object
+PASS FileSystemDirectoryHandle interface object length
+PASS FileSystemDirectoryHandle interface object name
+PASS FileSystemDirectoryHandle interface: existence and properties of interface prototype object
+PASS FileSystemDirectoryHandle interface: existence and properties of interface prototype object's "constructor" property
+PASS FileSystemDirectoryHandle interface: existence and properties of interface prototype object's @@unscopables property
+FAIL FileSystemDirectoryHandle interface: async iterable<USVString, FileSystemHandle> assert_equals: entries method should be the same as @@asyncIterator method expected function "function entries() { [native code] }" but got function "function entries() { [native code] }"
+PASS FileSystemDirectoryHandle interface: operation getFileHandle(USVString, optional FileSystemGetFileOptions)
+PASS FileSystemDirectoryHandle interface: operation getDirectoryHandle(USVString, optional FileSystemGetDirectoryOptions)
+PASS FileSystemDirectoryHandle interface: operation removeEntry(USVString, optional FileSystemRemoveOptions)
+PASS FileSystemDirectoryHandle interface: operation resolve(FileSystemHandle)
+PASS FileSystemWritableFileStream interface: existence and properties of interface object
+PASS FileSystemWritableFileStream interface object length
+PASS FileSystemWritableFileStream interface object name
+PASS FileSystemWritableFileStream interface: existence and properties of interface prototype object
+PASS FileSystemWritableFileStream interface: existence and properties of interface prototype object's "constructor" property
+PASS FileSystemWritableFileStream interface: existence and properties of interface prototype object's @@unscopables property
+PASS FileSystemWritableFileStream interface: operation write(FileSystemWriteChunkType)
+PASS FileSystemWritableFileStream interface: operation seek(unsigned long long)
+PASS FileSystemWritableFileStream interface: operation truncate(unsigned long long)
+PASS Window interface: operation showOpenFilePicker(optional OpenFilePickerOptions)
+PASS Window interface: operation showSaveFilePicker(optional SaveFilePickerOptions)
+PASS Window interface: operation showDirectoryPicker(optional DirectoryPickerOptions)
+PASS Window interface: operation getOriginPrivateDirectory()
+PASS WorkerGlobalScope interface: existence and properties of interface object
+Harness: the test ran to completion.
+
diff --git a/third_party/blink/web_tests/external/wpt/native-file-system/idlharness.https.any.worker-expected.txt b/third_party/blink/web_tests/external/wpt/native-file-system/idlharness.https.any.worker-expected.txt
new file mode 100644
index 0000000..0b3ae0d
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/native-file-system/idlharness.https.any.worker-expected.txt
@@ -0,0 +1,59 @@
+This is a testharness.js-based test.
+Found 55 tests; 54 PASS, 1 FAIL, 0 TIMEOUT, 0 NOTRUN.
+PASS idl_test setup
+PASS idl_test validation
+PASS Partial interface Window: original interface defined
+PASS Partial interface Window: member names are unique
+PASS Partial interface mixin WindowOrWorkerGlobalScope: original interface mixin defined
+PASS Partial interface mixin WindowOrWorkerGlobalScope: member names are unique
+PASS Partial interface Window[2]: member names are unique
+PASS Window includes GlobalEventHandlers: member names are unique
+PASS Window includes WindowEventHandlers: member names are unique
+PASS Window includes WindowOrWorkerGlobalScope: member names are unique
+PASS Window includes AnimationFrameProvider: member names are unique
+PASS Window includes WindowSessionStorage: member names are unique
+PASS Window includes WindowLocalStorage: member names are unique
+PASS WorkerGlobalScope includes WindowOrWorkerGlobalScope: member names are unique
+PASS FileSystemHandle interface: existence and properties of interface object
+PASS FileSystemHandle interface object length
+PASS FileSystemHandle interface object name
+PASS FileSystemHandle interface: existence and properties of interface prototype object
+PASS FileSystemHandle interface: existence and properties of interface prototype object's "constructor" property
+PASS FileSystemHandle interface: existence and properties of interface prototype object's @@unscopables property
+PASS FileSystemHandle interface: attribute kind
+PASS FileSystemHandle interface: attribute name
+PASS FileSystemHandle interface: operation isSameEntry(FileSystemHandle)
+PASS FileSystemHandle interface: operation queryPermission(optional FileSystemHandlePermissionDescriptor)
+PASS FileSystemHandle interface: operation requestPermission(optional FileSystemHandlePermissionDescriptor)
+PASS FileSystemFileHandle interface: existence and properties of interface object
+PASS FileSystemFileHandle interface object length
+PASS FileSystemFileHandle interface object name
+PASS FileSystemFileHandle interface: existence and properties of interface prototype object
+PASS FileSystemFileHandle interface: existence and properties of interface prototype object's "constructor" property
+PASS FileSystemFileHandle interface: existence and properties of interface prototype object's @@unscopables property
+PASS FileSystemFileHandle interface: operation getFile()
+PASS FileSystemFileHandle interface: operation createWritable(optional FileSystemCreateWritableOptions)
+PASS FileSystemDirectoryHandle interface: existence and properties of interface object
+PASS FileSystemDirectoryHandle interface object length
+PASS FileSystemDirectoryHandle interface object name
+PASS FileSystemDirectoryHandle interface: existence and properties of interface prototype object
+PASS FileSystemDirectoryHandle interface: existence and properties of interface prototype object's "constructor" property
+PASS FileSystemDirectoryHandle interface: existence and properties of interface prototype object's @@unscopables property
+FAIL FileSystemDirectoryHandle interface: async iterable<USVString, FileSystemHandle> assert_equals: entries method should be the same as @@asyncIterator method expected function "function entries() { [native code] }" but got function "function entries() { [native code] }"
+PASS FileSystemDirectoryHandle interface: operation getFileHandle(USVString, optional FileSystemGetFileOptions)
+PASS FileSystemDirectoryHandle interface: operation getDirectoryHandle(USVString, optional FileSystemGetDirectoryOptions)
+PASS FileSystemDirectoryHandle interface: operation removeEntry(USVString, optional FileSystemRemoveOptions)
+PASS FileSystemDirectoryHandle interface: operation resolve(FileSystemHandle)
+PASS FileSystemWritableFileStream interface: existence and properties of interface object
+PASS FileSystemWritableFileStream interface object length
+PASS FileSystemWritableFileStream interface object name
+PASS FileSystemWritableFileStream interface: existence and properties of interface prototype object
+PASS FileSystemWritableFileStream interface: existence and properties of interface prototype object's "constructor" property
+PASS FileSystemWritableFileStream interface: existence and properties of interface prototype object's @@unscopables property
+PASS FileSystemWritableFileStream interface: operation write(FileSystemWriteChunkType)
+PASS FileSystemWritableFileStream interface: operation seek(unsigned long long)
+PASS FileSystemWritableFileStream interface: operation truncate(unsigned long long)
+PASS Window interface: existence and properties of interface object
+PASS WorkerGlobalScope interface: operation getOriginPrivateDirectory()
+Harness: the test ran to completion.
+
diff --git a/third_party/blink/web_tests/external/wpt/service-workers/service-worker/detached-context.https-expected.txt b/third_party/blink/web_tests/external/wpt/service-workers/service-worker/detached-context.https-expected.txt
new file mode 100644
index 0000000..904eaa7c
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/service-workers/service-worker/detached-context.https-expected.txt
@@ -0,0 +1,8 @@
+This is a testharness.js-based test.
+FAIL accessing a ServiceWorkerRegistration from a removed iframe assert_equals: expected (string) "activated" but got (undefined) undefined
+PASS accessing a ServiceWorker object from a removed iframe
+PASS accessing navigator.serviceWorker on a detached iframe
+PASS accessing navigator on a removed frame
+PASS accessing navigator.serviceWorker on a removed about:blank frame
+Harness: the test ran to completion.
+
diff --git a/third_party/blink/web_tests/external/wpt/web-animations/interfaces/Animatable/animate-no-browsing-context-expected.txt b/third_party/blink/web_tests/external/wpt/web-animations/interfaces/Animatable/animate-no-browsing-context-expected.txt
index 91238a4..de9770be 100644
--- a/third_party/blink/web_tests/external/wpt/web-animations/interfaces/Animatable/animate-no-browsing-context-expected.txt
+++ b/third_party/blink/web_tests/external/wpt/web-animations/interfaces/Animatable/animate-no-browsing-context-expected.txt
@@ -1,7 +1,7 @@
This is a testharness.js-based test.
PASS Element.animate() creates an animation with the correct timeline when called on an element in a document without a browsing context
PASS The timeline associated with an animation trigger on an element in a document without a browsing context is inactive
-FAIL Replacing the timeline of an animation targetting an element in a document without a browsing context leaves it in the pending state promise_test: Unhandled rejection with value: object "TypeError: Cannot set property timeline of #<Animation> which has only a getter"
-FAIL Replacing the timeline of an animation targetting an element in a document without a browsing context and then adopting that element causes it to start updating style promise_test: Unhandled rejection with value: object "TypeError: Cannot set property timeline of #<Animation> which has only a getter"
+FAIL Replacing the timeline of an animation targetting an element in a document without a browsing context leaves it in the pending state promise_test: Unhandled rejection with value: object "TypeError: Cannot assign to read only property 'timeline' of object '#<Animation>'"
+FAIL Replacing the timeline of an animation targetting an element in a document without a browsing context and then adopting that element causes it to start updating style promise_test: Unhandled rejection with value: object "TypeError: Cannot assign to read only property 'timeline' of object '#<Animation>'"
Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/web-animations/interfaces/Animation/style-change-events-expected.txt b/third_party/blink/web_tests/external/wpt/web-animations/interfaces/Animation/style-change-events-expected.txt
index a618fd7..ae99c09 100644
--- a/third_party/blink/web_tests/external/wpt/web-animations/interfaces/Animation/style-change-events-expected.txt
+++ b/third_party/blink/web_tests/external/wpt/web-animations/interfaces/Animation/style-change-events-expected.txt
@@ -9,17 +9,17 @@
PASS Animation.id produces expected style change events
PASS Animation.onfinish produces expected style change events
PASS Animation.oncancel produces expected style change events
-PASS Animation.cancel produces expected style change events
PASS Animation.finish produces expected style change events
-PASS Animation.pause produces expected style change events
PASS Animation.play produces expected style change events
+PASS Animation.pause produces expected style change events
PASS Animation.reverse produces expected style change events
PASS Animation.updatePlaybackRate produces expected style change events
-FAIL Animation.timeline produces expected style change events promise_test: Unhandled rejection with value: object "TypeError: Cannot set property timeline of #<Animation> which has only a getter"
-PASS Animation.replaceState produces expected style change events
-PASS Animation.onremove produces expected style change events
+PASS Animation.cancel produces expected style change events
PASS Animation.finished produces expected style change events
PASS Animation.ready produces expected style change events
+PASS Animation.replaceState produces expected style change events
+FAIL Animation.timeline produces expected style change events promise_test: Unhandled rejection with value: object "TypeError: Cannot assign to read only property 'timeline' of object '#<Animation>'"
+PASS Animation.onremove produces expected style change events
PASS Animation.commitStyles produces expected style change events
PASS Animation.persist produces expected style change events
PASS Animation.Animation constructor produces expected style change events
diff --git a/third_party/blink/web_tests/external/wpt/web-animations/interfaces/KeyframeEffect/style-change-events-expected.txt b/third_party/blink/web_tests/external/wpt/web-animations/interfaces/KeyframeEffect/style-change-events-expected.txt
index a3ce452..ea37248 100644
--- a/third_party/blink/web_tests/external/wpt/web-animations/interfaces/KeyframeEffect/style-change-events-expected.txt
+++ b/third_party/blink/web_tests/external/wpt/web-animations/interfaces/KeyframeEffect/style-change-events-expected.txt
@@ -1,11 +1,11 @@
This is a testharness.js-based test.
-FAIL All property keys are recognized assert_in_array: Test property 'iterationComposite' should be one of the properties on KeyframeEffect value "iterationComposite" not in array ["getComputedTiming", "getTiming", "updateTiming", "target", "pseudoElement", "composite", "getKeyframes", "setKeyframes", "KeyframeEffect constructor", "KeyframeEffect copy constructor"]
-PASS KeyframeEffect.getComputedTiming does NOT trigger a style change event
+FAIL All property keys are recognized assert_in_array: Test property 'iterationComposite' should be one of the properties on KeyframeEffect value "iterationComposite" not in array ["getTiming", "getComputedTiming", "updateTiming", "target", "composite", "pseudoElement", "getKeyframes", "setKeyframes", "KeyframeEffect constructor", "KeyframeEffect copy constructor"]
PASS KeyframeEffect.getTiming does NOT trigger a style change event
+PASS KeyframeEffect.getComputedTiming does NOT trigger a style change event
PASS KeyframeEffect.updateTiming does NOT trigger a style change event
PASS KeyframeEffect.target does NOT trigger a style change event
-PASS KeyframeEffect.pseudoElement does NOT trigger a style change event
PASS KeyframeEffect.composite does NOT trigger a style change event
+PASS KeyframeEffect.pseudoElement does NOT trigger a style change event
PASS KeyframeEffect.getKeyframes does NOT trigger a style change event
PASS KeyframeEffect.setKeyframes does NOT trigger a style change event
PASS KeyframeEffect.KeyframeEffect constructor does NOT trigger a style change event
diff --git a/third_party/blink/web_tests/external/wpt/web-animations/timing-model/animations/setting-the-timeline-of-an-animation-expected.txt b/third_party/blink/web_tests/external/wpt/web-animations/timing-model/animations/setting-the-timeline-of-an-animation-expected.txt
index 305bfa27..1b685b0 100644
--- a/third_party/blink/web_tests/external/wpt/web-animations/timing-model/animations/setting-the-timeline-of-an-animation-expected.txt
+++ b/third_party/blink/web_tests/external/wpt/web-animations/timing-model/animations/setting-the-timeline-of-an-animation-expected.txt
@@ -1,19 +1,19 @@
This is a testharness.js-based test.
-FAIL After setting timeline on paused animation it is still paused Cannot set property timeline of #<Animation> which has only a getter
-FAIL After setting timeline on animation paused outside active interval it is still paused Cannot set property timeline of #<Animation> which has only a getter
-FAIL After setting timeline on an idle animation without a start time it is still idle Cannot set property timeline of #<Animation> which has only a getter
-FAIL After setting timeline on an idle animation with a start time it is running Cannot set property timeline of #<Animation> which has only a getter
-FAIL After setting timeline on an idle animation with a sufficiently ancient start time it is finished Cannot set property timeline of #<Animation> which has only a getter
-FAIL After setting timeline on a play-pending animation it begins playing after pending promise_test: Unhandled rejection with value: object "TypeError: Cannot set property timeline of #<Animation> which has only a getter"
-FAIL After setting timeline on a pause-pending animation it becomes paused after pending promise_test: Unhandled rejection with value: object "TypeError: Cannot set property timeline of #<Animation> which has only a getter"
-FAIL After clearing timeline on paused animation it is still paused Cannot set property timeline of #<Animation> which has only a getter
-FAIL After clearing timeline on finished animation it is idle Cannot set property timeline of #<Animation> which has only a getter
-FAIL After clearing timeline on running animation it is idle Cannot set property timeline of #<Animation> which has only a getter
-FAIL After clearing timeline on idle animation it is still idle Cannot set property timeline of #<Animation> which has only a getter
-FAIL After clearing timeline on play-pending animation it is still pending Cannot set property timeline of #<Animation> which has only a getter
-FAIL After clearing and re-setting timeline on play-pending animation it begins to play promise_test: Unhandled rejection with value: object "TypeError: Cannot set property timeline of #<Animation> which has only a getter"
-FAIL After clearing timeline on a pause-pending animation it is still pending Cannot set property timeline of #<Animation> which has only a getter
-FAIL After clearing and re-setting timeline on a pause-pending animation it completes pausing promise_test: Unhandled rejection with value: object "TypeError: Cannot set property timeline of #<Animation> which has only a getter"
-FAIL After clearing and re-setting timeline on an animation in the middle of an aborted pause, it continues playing using the same start time promise_test: Unhandled rejection with value: object "TypeError: Cannot set property timeline of #<Animation> which has only a getter"
+FAIL After setting timeline on paused animation it is still paused Cannot assign to read only property 'timeline' of object '#<Animation>'
+FAIL After setting timeline on animation paused outside active interval it is still paused Cannot assign to read only property 'timeline' of object '#<Animation>'
+FAIL After setting timeline on an idle animation without a start time it is still idle Cannot assign to read only property 'timeline' of object '#<Animation>'
+FAIL After setting timeline on an idle animation with a start time it is running Cannot assign to read only property 'timeline' of object '#<Animation>'
+FAIL After setting timeline on an idle animation with a sufficiently ancient start time it is finished Cannot assign to read only property 'timeline' of object '#<Animation>'
+FAIL After setting timeline on a play-pending animation it begins playing after pending promise_test: Unhandled rejection with value: object "TypeError: Cannot assign to read only property 'timeline' of object '#<Animation>'"
+FAIL After setting timeline on a pause-pending animation it becomes paused after pending promise_test: Unhandled rejection with value: object "TypeError: Cannot assign to read only property 'timeline' of object '#<Animation>'"
+FAIL After clearing timeline on paused animation it is still paused Cannot assign to read only property 'timeline' of object '#<Animation>'
+FAIL After clearing timeline on finished animation it is idle Cannot assign to read only property 'timeline' of object '#<Animation>'
+FAIL After clearing timeline on running animation it is idle Cannot assign to read only property 'timeline' of object '#<Animation>'
+FAIL After clearing timeline on idle animation it is still idle Cannot assign to read only property 'timeline' of object '#<Animation>'
+FAIL After clearing timeline on play-pending animation it is still pending Cannot assign to read only property 'timeline' of object '#<Animation>'
+FAIL After clearing and re-setting timeline on play-pending animation it begins to play promise_test: Unhandled rejection with value: object "TypeError: Cannot assign to read only property 'timeline' of object '#<Animation>'"
+FAIL After clearing timeline on a pause-pending animation it is still pending Cannot assign to read only property 'timeline' of object '#<Animation>'
+FAIL After clearing and re-setting timeline on a pause-pending animation it completes pausing promise_test: Unhandled rejection with value: object "TypeError: Cannot assign to read only property 'timeline' of object '#<Animation>'"
+FAIL After clearing and re-setting timeline on an animation in the middle of an aborted pause, it continues playing using the same start time promise_test: Unhandled rejection with value: object "TypeError: Cannot assign to read only property 'timeline' of object '#<Animation>'"
Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/web-animations/timing-model/timelines/update-and-send-events-replacement-expected.txt b/third_party/blink/web_tests/external/wpt/web-animations/timing-model/timelines/update-and-send-events-replacement-expected.txt
index 888d29a1..d583a4f 100644
--- a/third_party/blink/web_tests/external/wpt/web-animations/timing-model/timelines/update-and-send-events-replacement-expected.txt
+++ b/third_party/blink/web_tests/external/wpt/web-animations/timing-model/timelines/update-and-send-events-replacement-expected.txt
@@ -9,8 +9,8 @@
PASS Removes an animation after updating its fill mode
PASS Removes an animation after updating another animation's effect to one with different timing
PASS Removes an animation after updating its effect to one with different timing
-FAIL Removes an animation after updating another animation's timeline promise_test: Unhandled rejection with value: object "TypeError: Cannot set property timeline of #<Animation> which has only a getter"
-FAIL Removes an animation after updating its timeline promise_test: Unhandled rejection with value: object "TypeError: Cannot set property timeline of #<Animation> which has only a getter"
+FAIL Removes an animation after updating another animation's timeline promise_test: Unhandled rejection with value: object "TypeError: Cannot assign to read only property 'timeline' of object '#<Animation>'"
+FAIL Removes an animation after updating its timeline promise_test: Unhandled rejection with value: object "TypeError: Cannot assign to read only property 'timeline' of object '#<Animation>'"
PASS Removes an animation after updating another animation's effect's properties
PASS Removes an animation after updating its effect's properties
PASS Removes an animation after updating another animation's effect to one with different properties
@@ -32,11 +32,11 @@
PASS Does NOT dispatch a remove event twice
PASS Does NOT remove an animation after making a redundant change to another animation's current time
PASS Does NOT remove an animation after making a redundant change to its current time
-FAIL Does NOT remove an animation after making a redundant change to another animation's timeline promise_test: Unhandled rejection with value: object "TypeError: Cannot set property timeline of #<Animation> which has only a getter"
-FAIL Does NOT remove an animation after making a redundant change to its timeline promise_test: Unhandled rejection with value: object "TypeError: Cannot set property timeline of #<Animation> which has only a getter"
+FAIL Does NOT remove an animation after making a redundant change to another animation's timeline promise_test: Unhandled rejection with value: object "TypeError: Cannot assign to read only property 'timeline' of object '#<Animation>'"
+FAIL Does NOT remove an animation after making a redundant change to its timeline promise_test: Unhandled rejection with value: object "TypeError: Cannot assign to read only property 'timeline' of object '#<Animation>'"
PASS Does NOT remove an animation after making a redundant change to another animation's effect's properties
PASS Does NOT remove an animation after making a redundant change to its effect's properties
-FAIL Updates ALL timelines before checking for replacement promise_test: Unhandled rejection with value: object "TypeError: Cannot set property timeline of #<Animation> which has only a getter"
+FAIL Updates ALL timelines before checking for replacement promise_test: Unhandled rejection with value: object "TypeError: Cannot assign to read only property 'timeline' of object '#<Animation>'"
PASS Dispatches remove events after finish events
FAIL Fires remove event before requestAnimationFrame assert_true: Not expecting event, but got remove event expected true got false
PASS Queues all remove events before running them
diff --git a/third_party/blink/web_tests/external/wpt/webrtc/RTCPeerConnection-iceGatheringState-expected.txt b/third_party/blink/web_tests/external/wpt/webrtc/RTCPeerConnection-iceGatheringState-expected.txt
index b8da1700..db32c8e1 100644
--- a/third_party/blink/web_tests/external/wpt/webrtc/RTCPeerConnection-iceGatheringState-expected.txt
+++ b/third_party/blink/web_tests/external/wpt/webrtc/RTCPeerConnection-iceGatheringState-expected.txt
@@ -5,6 +5,6 @@
PASS setLocalDescription(reoffer) with a new transport should cause iceGatheringState to go to "checking" and then "complete"
PASS sRD does not cause ICE gathering state changes
FAIL renegotiation that closes all transports should result in ICE gathering state "new" promise_test: Unhandled rejection with value: object "TypeError: pc1.getTransceivers(...)[0].stop is not a function"
-PASS connection with one data channel should eventually have connected connection state
+FAIL connection with one data channel should eventually have connected connection state assert_equals: Expect ICE transport to be in checking gatheringState when iceGatheringState is checking expected (string) "gathering" but got (undefined) undefined
Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/webvtt/api/VTTCue/region-expected.txt b/third_party/blink/web_tests/external/wpt/webvtt/api/VTTCue/region-expected.txt
index 305af88..bbc8739 100644
--- a/third_party/blink/web_tests/external/wpt/webvtt/api/VTTCue/region-expected.txt
+++ b/third_party/blink/web_tests/external/wpt/webvtt/api/VTTCue/region-expected.txt
@@ -1,4 +1,4 @@
This is a testharness.js-based test.
-FAIL VTTCue.region, script-created cue Failed to set the 'region' property on 'VTTCue': Failed to convert value to 'VTTRegion'.
+FAIL VTTCue.region, script-created cue Failed to set the 'region' property on 'VTTCue': The provided value is not of type 'VTTRegion'.
Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/fast/dom/MutationObserver/mutation-observer-constructor-expected.txt b/third_party/blink/web_tests/fast/dom/MutationObserver/mutation-observer-constructor-expected.txt
index 237a9f9c..4b07ca02 100644
--- a/third_party/blink/web_tests/fast/dom/MutationObserver/mutation-observer-constructor-expected.txt
+++ b/third_party/blink/web_tests/fast/dom/MutationObserver/mutation-observer-constructor-expected.txt
@@ -7,10 +7,10 @@
PASS typeof WebKitMutationObserver.prototype.disconnect is "function"
PASS typeof observer.observe is "function"
PASS typeof observer.disconnect is "function"
-PASS new MutationObserver({ handleEvent: function() {} }) threw exception TypeError: Failed to construct 'MutationObserver': parameter 1 is not of type 'Function'..
-PASS new MutationObserver({}) threw exception TypeError: Failed to construct 'MutationObserver': parameter 1 is not of type 'Function'..
-PASS new MutationObserver(42) threw exception TypeError: Failed to construct 'MutationObserver': parameter 1 is not of type 'Function'..
-PASS new MutationObserver("foo") threw exception TypeError: Failed to construct 'MutationObserver': parameter 1 is not of type 'Function'..
+PASS new MutationObserver({ handleEvent: function() {} }) threw exception TypeError: Failed to construct 'MutationObserver': The callback provided as parameter 1 is not a function..
+PASS new MutationObserver({}) threw exception TypeError: Failed to construct 'MutationObserver': The callback provided as parameter 1 is not a function..
+PASS new MutationObserver(42) threw exception TypeError: Failed to construct 'MutationObserver': The callback provided as parameter 1 is not a function..
+PASS new MutationObserver("foo") threw exception TypeError: Failed to construct 'MutationObserver': The callback provided as parameter 1 is not a function..
PASS successfullyParsed is true
TEST COMPLETE
diff --git a/third_party/blink/web_tests/fast/dom/TreeWalker/TreeWalker-currentNode-expected.txt b/third_party/blink/web_tests/fast/dom/TreeWalker/TreeWalker-currentNode-expected.txt
index 8aa3184..397c4e1a 100644
--- a/third_party/blink/web_tests/fast/dom/TreeWalker/TreeWalker-currentNode-expected.txt
+++ b/third_party/blink/web_tests/fast/dom/TreeWalker/TreeWalker-currentNode-expected.txt
@@ -13,9 +13,9 @@
Test that setting the currentNode to non-Node values throws.
-PASS w.currentNode = null threw exception TypeError: Failed to set the 'currentNode' property on 'TreeWalker': Failed to convert value to 'Node'..
-PASS w.currentNode = {} threw exception TypeError: Failed to set the 'currentNode' property on 'TreeWalker': Failed to convert value to 'Node'..
-PASS w.currentNode = window threw exception TypeError: Failed to set the 'currentNode' property on 'TreeWalker': Failed to convert value to 'Node'..
+PASS w.currentNode = null threw exception TypeError: Failed to set the 'currentNode' property on 'TreeWalker': The provided value is not of type 'Node'..
+PASS w.currentNode = {} threw exception TypeError: Failed to set the 'currentNode' property on 'TreeWalker': The provided value is not of type 'Node'..
+PASS w.currentNode = window threw exception TypeError: Failed to set the 'currentNode' property on 'TreeWalker': The provided value is not of type 'Node'..
Test that we handle setting the currentNode to arbitrary nodes not under the root element.
diff --git a/third_party/blink/web_tests/fast/dom/Window/property-access-in-closure-after-navigation-expected.txt b/third_party/blink/web_tests/fast/dom/Window/property-access-in-closure-after-navigation-expected.txt
index 75f8a5f1..1579b43 100644
--- a/third_party/blink/web_tests/fast/dom/Window/property-access-in-closure-after-navigation-expected.txt
+++ b/third_party/blink/web_tests/fast/dom/Window/property-access-in-closure-after-navigation-expected.txt
@@ -6,7 +6,7 @@
PASS window is frames
PASS parent is top
PASS window is non-null.
-PASS self is non-null.
-PASS frames is non-null.
-PASS parent is non-null.
-PASS top is non-null.
+FAIL self should be non-null. Was null
+FAIL frames should be non-null. Was null
+PASS parent is null.
+PASS top is null.
diff --git a/third_party/blink/web_tests/fast/dom/Window/property-access-on-cached-properties-after-frame-navigated.html b/third_party/blink/web_tests/fast/dom/Window/property-access-on-cached-properties-after-frame-navigated.html
index 411301b..8e27624 100644
--- a/third_party/blink/web_tests/fast/dom/Window/property-access-on-cached-properties-after-frame-navigated.html
+++ b/third_party/blink/web_tests/fast/dom/Window/property-access-on-cached-properties-after-frame-navigated.html
@@ -13,9 +13,6 @@
{
if (path.length < 2)
return;
- // It's expected that performance.eventCounts.size is non-zero.
- if (getPropertyPath(path, path.length) == "performance.eventCounts.size")
- return;
var propertyDir = getPropertyPath(path, path.length - 1);
var cachedPropertyDir = "cached_" + propertyDir.replace('.', '_');
window[cachedPropertyDir] = eval("childWindow." + propertyDir);
diff --git a/third_party/blink/web_tests/fast/dom/Window/property-access-on-cached-properties-after-frame-removed-and-gced.html b/third_party/blink/web_tests/fast/dom/Window/property-access-on-cached-properties-after-frame-removed-and-gced.html
index 07f2fd6..1f45780 100644
--- a/third_party/blink/web_tests/fast/dom/Window/property-access-on-cached-properties-after-frame-removed-and-gced.html
+++ b/third_party/blink/web_tests/fast/dom/Window/property-access-on-cached-properties-after-frame-removed-and-gced.html
@@ -13,9 +13,6 @@
{
if (path.length < 2)
return;
- // It's expected that performance.eventCounts.size is non-zero.
- if (getPropertyPath(path, path.length) == "performance.eventCounts.size")
- return;
var propertyDir = getPropertyPath(path, path.length - 1);
var cachedPropertyDir = "cached_" + propertyDir.replace('.', '_');
window[cachedPropertyDir] = eval("childWindow." + propertyDir);
diff --git a/third_party/blink/web_tests/fast/dom/Window/property-access-on-cached-properties-after-frame-removed.html b/third_party/blink/web_tests/fast/dom/Window/property-access-on-cached-properties-after-frame-removed.html
index e158acd..fbe9aae8 100644
--- a/third_party/blink/web_tests/fast/dom/Window/property-access-on-cached-properties-after-frame-removed.html
+++ b/third_party/blink/web_tests/fast/dom/Window/property-access-on-cached-properties-after-frame-removed.html
@@ -12,9 +12,6 @@
{
if (path.length < 2)
return;
- // It's expected that performance.eventCounts.size is non-zero.
- if (getPropertyPath(path, path.length) == "performance.eventCounts.size")
- return;
var propertyDir = getPropertyPath(path, path.length - 1);
var cachedPropertyDir = "cached_" + propertyDir.replace('.', '_');
window[cachedPropertyDir] = eval("childWindow." + propertyDir);
diff --git a/third_party/blink/web_tests/fast/dom/Window/property-access-on-cached-window-after-frame-navigated-expected.txt b/third_party/blink/web_tests/fast/dom/Window/property-access-on-cached-window-after-frame-navigated-expected.txt
index 12687be..ecb298c 100644
--- a/third_party/blink/web_tests/fast/dom/Window/property-access-on-cached-window-after-frame-navigated-expected.txt
+++ b/third_party/blink/web_tests/fast/dom/Window/property-access-on-cached-window-after-frame-navigated-expected.txt
@@ -191,7 +191,6 @@
PASS oldChildWindow.outerWidth is newChildWindow.outerWidth
PASS oldChildWindow.pageXOffset is newChildWindow.pageXOffset
PASS oldChildWindow.pageYOffset is newChildWindow.pageYOffset
-PASS oldChildWindow.performance.eventCounts.size is newChildWindow.performance.eventCounts.size
PASS oldChildWindow.performance.navigation.redirectCount is newChildWindow.performance.navigation.redirectCount
PASS oldChildWindow.performance.navigation.type is newChildWindow.performance.navigation.type
PASS oldChildWindow.performance.onresourcetimingbufferfull is newChildWindow.performance.onresourcetimingbufferfull
diff --git a/third_party/blink/web_tests/fast/dom/Window/property-access-on-cached-window-after-frame-removed-and-gced-expected.txt b/third_party/blink/web_tests/fast/dom/Window/property-access-on-cached-window-after-frame-removed-and-gced-expected.txt
index 7514b23..bd9309f27 100644
--- a/third_party/blink/web_tests/fast/dom/Window/property-access-on-cached-window-after-frame-removed-and-gced-expected.txt
+++ b/third_party/blink/web_tests/fast/dom/Window/property-access-on-cached-window-after-frame-removed-and-gced-expected.txt
@@ -12,7 +12,6 @@
PASS childWindow.innerWidth is 0
PASS childWindow.isSecureContext is false
PASS childWindow.length is 0
-FAIL childWindow.location.href should be about:blank (of type string). Was undefined (of type undefined).
PASS childWindow.locationbar.visible is false
PASS childWindow.menubar.visible is false
PASS childWindow.name is ''
@@ -24,6 +23,8 @@
PASS childWindow.navigator.hardwareConcurrency is window.navigator.hardwareConcurrency
PASS childWindow.navigator.language is window.navigator.language
PASS childWindow.navigator.maxTouchPoints is 0
+PASS childWindow.navigator.mediaSession.metadata is null
+PASS childWindow.navigator.mediaSession.playbackState is 'none'
PASS childWindow.navigator.onLine is window.navigator.onLine
PASS childWindow.navigator.platform is window.navigator.platform
PASS childWindow.navigator.product is window.navigator.product
diff --git a/third_party/blink/web_tests/fast/dom/Window/property-access-on-cached-window-after-frame-removed-expected.txt b/third_party/blink/web_tests/fast/dom/Window/property-access-on-cached-window-after-frame-removed-expected.txt
index bbd0949..74def1f 100644
--- a/third_party/blink/web_tests/fast/dom/Window/property-access-on-cached-window-after-frame-removed-expected.txt
+++ b/third_party/blink/web_tests/fast/dom/Window/property-access-on-cached-window-after-frame-removed-expected.txt
@@ -12,7 +12,6 @@
PASS childWindow.innerWidth is 0
PASS childWindow.isSecureContext is false
PASS childWindow.length is 0
-FAIL childWindow.location.href should be about:blank (of type string). Was undefined (of type undefined).
PASS childWindow.locationbar.visible is false
PASS childWindow.menubar.visible is false
PASS childWindow.name is ''
@@ -24,6 +23,8 @@
PASS childWindow.navigator.hardwareConcurrency is window.navigator.hardwareConcurrency
PASS childWindow.navigator.language is window.navigator.language
PASS childWindow.navigator.maxTouchPoints is 0
+PASS childWindow.navigator.mediaSession.metadata is null
+PASS childWindow.navigator.mediaSession.playbackState is 'none'
PASS childWindow.navigator.onLine is window.navigator.onLine
PASS childWindow.navigator.platform is window.navigator.platform
PASS childWindow.navigator.product is window.navigator.product
diff --git a/third_party/blink/web_tests/fast/dom/Window/resources/property-access-in-closure-after-navigation-child.html b/third_party/blink/web_tests/fast/dom/Window/resources/property-access-in-closure-after-navigation-child.html
index 4ff5d1f..e9dff7d 100644
--- a/third_party/blink/web_tests/fast/dom/Window/resources/property-access-in-closure-after-navigation-child.html
+++ b/third_party/blink/web_tests/fast/dom/Window/resources/property-access-in-closure-after-navigation-child.html
@@ -35,10 +35,8 @@
// WindowProxy.
// https://html.spec.whatwg.org/multipage/browsers.html#dom-top
// https://html.spec.whatwg.org/multipage/browsers.html#dom-parent
- // However, when navigated, the WindowProxy's browsing context still exists.
- // When the iframe is removed, |parent| and |top| are null.
- shouldBeNonNull(parent, "parent");
- shouldBeNonNull(top, "top");
+ shouldBeNull(parent, "parent");
+ shouldBeNull(top, "top");
};
location = 'data:text/html,<body>Testing...</body>';
}
diff --git a/third_party/blink/web_tests/fast/dom/Window/window-constructor.html b/third_party/blink/web_tests/fast/dom/Window/window-constructor.html
index 497ed74..f4fbbb6 100644
--- a/third_party/blink/web_tests/fast/dom/Window/window-constructor.html
+++ b/third_party/blink/web_tests/fast/dom/Window/window-constructor.html
@@ -16,7 +16,9 @@
assert_throws_js(TypeError, () => { new window.__proto__.constructor; },
"Window.prototype constructor must be non-callable.");
- assert_equals(window.__proto__.__proto__.constructor, EventTarget,
- "WindowProperties constructor is EventTarget.");
+ assert_throws_js(TypeError, () => { window.__proto__.__proto__.constructor(); },
+ "WindowProperties constructor must be non-callable.");
+ assert_throws_js(TypeError, () => { new window.__proto__.__proto__.constructor; },
+ "WindowProperties constructor must be non-callable.");
}, "Test Window and its prototype chain's constructors.");
</script>
diff --git a/third_party/blink/web_tests/fast/dom/Window/window-custom-prototype-expected.txt b/third_party/blink/web_tests/fast/dom/Window/window-custom-prototype-expected.txt
index bea5911..4b3902b 100644
--- a/third_party/blink/web_tests/fast/dom/Window/window-custom-prototype-expected.txt
+++ b/third_party/blink/web_tests/fast/dom/Window/window-custom-prototype-expected.txt
@@ -14,7 +14,7 @@
PASS __proto__ = originalWindowPrototype; __proto__ is originalWindowPrototype
PASS anotherObject.__proto__ = window; anotherObject.__proto__ is window
PASS __proto__ = null; __proto__ threw exception TypeError: Immutable prototype object '#<Window>' cannot have their prototype set.
-PASS location.__proto__.__proto__ = location threw exception TypeError: Immutable prototype object '#<Location>' cannot have their prototype set.
+PASS location.__proto__.__proto__ = location threw exception TypeError: Cyclic __proto__ value.
PASS successfullyParsed is true
TEST COMPLETE
diff --git a/third_party/blink/web_tests/fast/dom/Window/window-custom-prototype.html b/third_party/blink/web_tests/fast/dom/Window/window-custom-prototype.html
index 5fc9b6e0..733f169 100644
--- a/third_party/blink/web_tests/fast/dom/Window/window-custom-prototype.html
+++ b/third_party/blink/web_tests/fast/dom/Window/window-custom-prototype.html
@@ -24,7 +24,7 @@
shouldBe("__proto__ = originalWindowPrototype; __proto__", "originalWindowPrototype");
shouldBe("anotherObject.__proto__ = window; anotherObject.__proto__", "window");
shouldThrow("__proto__ = null; __proto__", error);
-shouldThrow("location.__proto__.__proto__ = location", "'TypeError: Immutable prototype object \\'#<Location>\\' cannot have their prototype set'");
+shouldThrow("location.__proto__.__proto__ = location", "'TypeError: Cyclic __proto__ value'");
</script>
</body>
</html>
diff --git a/third_party/blink/web_tests/fast/dom/Window/window-postmessage-clone-deep-array-expected.txt b/third_party/blink/web_tests/fast/dom/Window/window-postmessage-clone-deep-array-expected.txt
index 6cdf2ba..af7bea55 100644
--- a/third_party/blink/web_tests/fast/dom/Window/window-postmessage-clone-deep-array-expected.txt
+++ b/third_party/blink/web_tests/fast/dom/Window/window-postmessage-clone-deep-array-expected.txt
@@ -1,4 +1,5 @@
+CONSOLE ERROR: line 11: Uncaught RangeError: Maximum call stack size exceeded
Tests that we support cloning deep(ish) arrays.
-FAIL: 'postMessage(deepArray)' should not throw but threw RangeError: Maximum call stack size exceeded
+
PASS: eventData is done of type string
diff --git a/third_party/blink/web_tests/fast/dom/Window/window-properties-performance-expected.txt b/third_party/blink/web_tests/fast/dom/Window/window-properties-performance-expected.txt
index 3a451c0..3249f61 100644
--- a/third_party/blink/web_tests/fast/dom/Window/window-properties-performance-expected.txt
+++ b/third_party/blink/web_tests/fast/dom/Window/window-properties-performance-expected.txt
@@ -12,7 +12,6 @@
window.performance.eventCounts.get [function]
window.performance.eventCounts.has [function]
window.performance.eventCounts.keys [function]
-window.performance.eventCounts.size [number]
window.performance.eventCounts.values [function]
window.performance.getEntries [function]
window.performance.getEntriesByName [function]
diff --git a/third_party/blink/web_tests/fast/dom/Window/window-scroll-arguments-expected.txt b/third_party/blink/web_tests/fast/dom/Window/window-scroll-arguments-expected.txt
index 1217f52..5407f07 100644
--- a/third_party/blink/web_tests/fast/dom/Window/window-scroll-arguments-expected.txt
+++ b/third_party/blink/web_tests/fast/dom/Window/window-scroll-arguments-expected.txt
@@ -10,7 +10,7 @@
Testing - scrollTo with 0 arguments
PASS window.scrollTo() did not throw exception.
Testing - scrollTo with 1 non-dictionary argument
-PASS window.scrollTo(x) threw exception TypeError: Failed to execute 'scrollTo' on 'Window': cannot convert to dictionary..
+PASS window.scrollTo(x) threw exception TypeError: Failed to execute 'scrollTo' on 'Window': parameter 1 ('options') is not an object..
Testing - scrollTo with a valid ScrollToOptions argument
PASS window.scrollTo({ }) did not throw exception.
PASS window.scrollTo({ left: x }) did not throw exception.
@@ -34,7 +34,7 @@
Testing - scroll with 0 arguments
PASS window.scroll() did not throw exception.
Testing - scroll with 1 argument
-PASS window.scroll(x) threw exception TypeError: Failed to execute 'scroll' on 'Window': cannot convert to dictionary..
+PASS window.scroll(x) threw exception TypeError: Failed to execute 'scroll' on 'Window': parameter 1 ('options') is not an object..
Testing - scroll with a valid ScrollToOptions argument
PASS window.scroll({ }) did not throw exception.
PASS window.scroll({ left: x }) did not throw exception.
@@ -58,7 +58,7 @@
Testing - scrollBy with 0 arguments
PASS window.scrollBy() did not throw exception.
Testing - scrollBy with 1 argument
-PASS window.scrollBy(x) threw exception TypeError: Failed to execute 'scrollBy' on 'Window': cannot convert to dictionary..
+PASS window.scrollBy(x) threw exception TypeError: Failed to execute 'scrollBy' on 'Window': parameter 1 ('options') is not an object..
Testing - scrollBy with a valid ScrollOptions argument
PASS window.scrollBy({ }) did not throw exception.
PASS window.scrollBy({ left: x }) did not throw exception.
diff --git a/third_party/blink/web_tests/fast/dom/collection-item-must-not-be-overridden-by-own-property-expected.txt b/third_party/blink/web_tests/fast/dom/collection-item-should-be-overridden-by-own-property-expected.txt
similarity index 61%
rename from third_party/blink/web_tests/fast/dom/collection-item-must-not-be-overridden-by-own-property-expected.txt
rename to third_party/blink/web_tests/fast/dom/collection-item-should-be-overridden-by-own-property-expected.txt
index b1d5929d..272e47a 100644
--- a/third_party/blink/web_tests/fast/dom/collection-item-must-not-be-overridden-by-own-property-expected.txt
+++ b/third_party/blink/web_tests/fast/dom/collection-item-should-be-overridden-by-own-property-expected.txt
@@ -1,13 +1,13 @@
-This test ensures the collection item obtained by named property getter is NOT overridden by object's own property.
+This test ensures the collection item obtained by named property getter is overridden by object's own property.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
PASS document.all.foo is document.getElementById('element0')
-PASS document.all.foo is document.getElementById('element0')
+PASS document.all.foo is 1
PASS document.styleSheets.link1 is document.styleSheets[0]
-PASS document.styleSheets.link1 is document.styleSheets[0]
+PASS document.styleSheets.link1 is 1
PASS document.body.attributes.style is document.body.attributes['style']
-PASS document.body.attributes.style is document.body.attributes['style']
+PASS document.body.attributes.style is 1
PASS successfullyParsed is true
TEST COMPLETE
diff --git a/third_party/blink/web_tests/fast/dom/collection-item-must-not-be-overridden-by-own-property.html b/third_party/blink/web_tests/fast/dom/collection-item-should-be-overridden-by-own-property.html
similarity index 74%
rename from third_party/blink/web_tests/fast/dom/collection-item-must-not-be-overridden-by-own-property.html
rename to third_party/blink/web_tests/fast/dom/collection-item-should-be-overridden-by-own-property.html
index cc4db4a..e6875780 100644
--- a/third_party/blink/web_tests/fast/dom/collection-item-must-not-be-overridden-by-own-property.html
+++ b/third_party/blink/web_tests/fast/dom/collection-item-should-be-overridden-by-own-property.html
@@ -10,19 +10,20 @@
<input type="text" id="element1" name="bar">
</div>
<script>
-description("This test ensures the collection item obtained by named property getter is NOT overridden by object's own property.");
+description("This test ensures the collection item obtained by named property getter is overridden by object's own property.");
shouldBe("document.all.foo", "document.getElementById('element0')");
document.all.foo = 1;
-shouldBe("document.all.foo", "document.getElementById('element0')");
+shouldBe("document.all.foo", "1");
shouldBe("document.styleSheets.link1", "document.styleSheets[0]");
document.styleSheets.link1 = 1;
-shouldBe("document.styleSheets.link1", "document.styleSheets[0]");
+shouldBe("document.styleSheets.link1", "1");
shouldBe("document.body.attributes.style", "document.body.attributes['style']");
document.body.attributes.style = 1;
-shouldBe("document.body.attributes.style", "document.body.attributes['style']");
+shouldBe("document.body.attributes.style", "1");
+
document.getElementById('testElements').style.display = 'none';
diff --git a/third_party/blink/web_tests/fast/dom/dataset-xhtml-expected.txt b/third_party/blink/web_tests/fast/dom/dataset-xhtml-expected.txt
index 705a0cb..938c8c2 100644
--- a/third_party/blink/web_tests/fast/dom/dataset-xhtml-expected.txt
+++ b/third_party/blink/web_tests/fast/dom/dataset-xhtml-expected.txt
@@ -24,9 +24,9 @@
PASS testSet('à', 'data-à') is true
-PASS testSet('-foo', 'dummy') threw exception SyntaxError: '-foo' is not a valid property name..
-PASS testSet('foo ', 'dummy') threw exception InvalidCharacterError: 'data-foo ' is not a valid attribute name..
-PASS testSet('foo豈', 'dummy') threw exception InvalidCharacterError: 'data-foo豈' is not a valid attribute name..
+PASS testSet('-foo', 'dummy') threw exception SyntaxError: Failed to set the '-foo' property on 'DOMStringMap': '-foo' is not a valid property name..
+PASS testSet('foo ', 'dummy') threw exception InvalidCharacterError: Failed to set the 'foo ' property on 'DOMStringMap': 'data-foo ' is not a valid attribute name..
+FAIL testSet('foo豈', 'dummy') should throw InvalidCharacterError: Failed to set the 'foo豈' property on 'DOMStringMap': 'data-foo豈' is not a valid attribute name.. Threw exception InvalidCharacterError: Failed to set the 'fooï¤Â€' property on 'DOMStringMap': 'data-foo豈' is not a valid attribute name..
PASS testDelete('data-foo', 'foo') is true
diff --git a/third_party/blink/web_tests/fast/dom/dataset-xhtml.xhtml b/third_party/blink/web_tests/fast/dom/dataset-xhtml.xhtml
index e9d9301..522f32c 100644
--- a/third_party/blink/web_tests/fast/dom/dataset-xhtml.xhtml
+++ b/third_party/blink/web_tests/fast/dom/dataset-xhtml.xhtml
@@ -55,9 +55,9 @@
shouldBeTrue("testSet('\xE0', 'data-\xE0')");
debug("");
-shouldThrow("testSet('-foo', 'dummy')", '"SyntaxError: \'-foo\' is not a valid property name."');
-shouldThrow("testSet('foo\x20', 'dummy')", '"InvalidCharacterError: \'data-foo\x20\' is not a valid attribute name."');
-shouldThrow("testSet('foo\uF900', 'dummy')", '"InvalidCharacterError: \'data-foo\uF900\' is not a valid attribute name."');
+shouldThrow("testSet('-foo', 'dummy')", '"SyntaxError: Failed to set the \'-foo\' property on \'DOMStringMap\': \'-foo\' is not a valid property name."');
+shouldThrow("testSet('foo\x20', 'dummy')", '"InvalidCharacterError: Failed to set the \'foo\x20\' property on \'DOMStringMap\': \'data-foo\x20\' is not a valid attribute name."');
+shouldThrow("testSet('foo\uF900', 'dummy')", '"InvalidCharacterError: Failed to set the \'foo\uF900\' property on \'DOMStringMap\': \'data-foo\uF900\' is not a valid attribute name."');
debug("");
function testDelete(attr, prop)
diff --git a/third_party/blink/web_tests/fast/dom/setter-type-enforcement-expected.txt b/third_party/blink/web_tests/fast/dom/setter-type-enforcement-expected.txt
index c4229739..59afcd0 100644
--- a/third_party/blink/web_tests/fast/dom/setter-type-enforcement-expected.txt
+++ b/third_party/blink/web_tests/fast/dom/setter-type-enforcement-expected.txt
@@ -2,7 +2,7 @@
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-PASS document.body = nodelist; threw exception TypeError: Failed to set the 'body' property on 'Document': Failed to convert value to 'HTMLElement'..
+PASS document.body = nodelist; threw exception TypeError: Failed to set the 'body' property on 'Document': The provided value is not of type 'HTMLElement'..
PASS successfullyParsed is true
TEST COMPLETE
diff --git a/third_party/blink/web_tests/fast/events/constructors/event-constructors-expected.txt b/third_party/blink/web_tests/fast/events/constructors/event-constructors-expected.txt
index b7ff3cf..079d34b 100644
--- a/third_party/blink/web_tests/fast/events/constructors/event-constructors-expected.txt
+++ b/third_party/blink/web_tests/fast/events/constructors/event-constructors-expected.txt
@@ -20,7 +20,7 @@
PASS (new Event('eventType', null)).cancelable is false
PASS (new Event('eventType', undefined)).bubbles is false
PASS (new Event('eventType', undefined)).cancelable is false
-PASS new Event('eventType', 0) threw exception TypeError: Failed to construct 'Event': cannot convert to dictionary..
+PASS new Event('eventType', 0) threw exception TypeError: Failed to construct 'Event': parameter 2 ('eventInitDict') is not an object..
PASS (new Event('eventType', window)).bubbles is false
PASS (new Event('eventType', window)).cancelable is false
PASS (new Event('eventType', window)).bubbles is true
diff --git a/third_party/blink/web_tests/fast/files/url-null-expected.txt b/third_party/blink/web_tests/fast/files/url-null-expected.txt
index f9fc5d25..681eb42 100644
--- a/third_party/blink/web_tests/fast/files/url-null-expected.txt
+++ b/third_party/blink/web_tests/fast/files/url-null-expected.txt
@@ -2,8 +2,8 @@
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-PASS URL.createObjectURL(null) threw exception TypeError: Failed to execute 'createObjectURL' on 'URL': Overload resolution failed..
-PASS URL.createObjectURL(undefined) threw exception TypeError: Failed to execute 'createObjectURL' on 'URL': Overload resolution failed..
+PASS URL.createObjectURL(null) threw exception TypeError: Failed to execute 'createObjectURL' on 'URL': No function was found that matched the signature provided..
+PASS URL.createObjectURL(undefined) threw exception TypeError: Failed to execute 'createObjectURL' on 'URL': No function was found that matched the signature provided..
PASS URL.revokeObjectURL(null) did not throw exception.
PASS URL.revokeObjectURL(undefined) did not throw exception.
PASS successfullyParsed is true
diff --git a/third_party/blink/web_tests/fast/filesystem/flags-passing-expected.txt b/third_party/blink/web_tests/fast/filesystem/flags-passing-expected.txt
index 29740b2..94ef5cc 100644
--- a/third_party/blink/web_tests/fast/filesystem/flags-passing-expected.txt
+++ b/third_party/blink/web_tests/fast/filesystem/flags-passing-expected.txt
@@ -6,7 +6,7 @@
* Passing JSON Flags object (with exclusive=true).
* Passing null as a flags parameter.
* Passing a number as a flags parameter.
-Caught exception: TypeError: Failed to execute 'getFile' on 'DirectoryEntry': cannot convert to dictionary.
+Caught exception: TypeError: Failed to execute 'getFile' on 'DirectoryEntry': parameter 2 ('options') is not an object.
Finished running tests.
PASS expectedCallbacksCount is 1
PASS unexpectedCallbacksCount is 0
diff --git a/third_party/blink/web_tests/fast/forms/file/input-file-write-files-expected.txt b/third_party/blink/web_tests/fast/forms/file/input-file-write-files-expected.txt
index 6e3b98b..e128483 100644
--- a/third_party/blink/web_tests/fast/forms/file/input-file-write-files-expected.txt
+++ b/third_party/blink/web_tests/fast/forms/file/input-file-write-files-expected.txt
@@ -3,7 +3,7 @@
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
PASS file1.files.length is 1
-PASS file1.files = 'foo' threw exception TypeError: Failed to set the 'files' property on 'HTMLInputElement': Failed to convert value to 'FileList'..
+PASS file1.files = 'foo' threw exception TypeError: Failed to set the 'files' property on 'HTMLInputElement': The provided value is not of type 'FileList'..
PASS file1.files.length is 1
PASS file1.files.item(0).name is "foo.txt"
PASS file1.files.length is 1
diff --git a/third_party/blink/web_tests/fast/forms/select/collection-setter-getter-expected.txt b/third_party/blink/web_tests/fast/forms/select/collection-setter-getter-expected.txt
index d7ced82..db45630 100644
--- a/third_party/blink/web_tests/fast/forms/select/collection-setter-getter-expected.txt
+++ b/third_party/blink/web_tests/fast/forms/select/collection-setter-getter-expected.txt
@@ -12,7 +12,7 @@
4) trying to set an element to a non-Option value: null
PASS set_options.length is 3
5) trying to set an element to a non-Option value: form (object of incorrect type)
-PASS set_options[10] = my_form threw exception TypeError: Failed to set an indexed property on 'HTMLOptionsCollection': parameter 3 is not of type 'HTMLOptionElement'..
+PASS set_options[10] = my_form threw exception TypeError: Failed to set an indexed property on 'HTMLOptionsCollection': The provided value is not of type 'HTMLOptionElement'..
PASS set_options.length is 3
PASS successfullyParsed is true
diff --git a/third_party/blink/web_tests/fast/forms/select/exceptions-expected.txt b/third_party/blink/web_tests/fast/forms/select/exceptions-expected.txt
index ab6ab6b..108821bc 100644
--- a/third_party/blink/web_tests/fast/forms/select/exceptions-expected.txt
+++ b/third_party/blink/web_tests/fast/forms/select/exceptions-expected.txt
@@ -2,7 +2,7 @@
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-PASS el[1] = 0; threw exception TypeError: Failed to set an indexed property on 'HTMLSelectElement': parameter 3 is not of type 'HTMLOptionElement'..
+PASS el[1] = 0; threw exception TypeError: Failed to set an indexed property on 'HTMLSelectElement': The provided value is not of type 'HTMLOptionElement'..
PASS el.namedItem() threw exception TypeError: Failed to execute 'namedItem' on 'HTMLSelectElement': 1 argument required, but only 0 present..
PASS successfullyParsed is true
diff --git a/third_party/blink/web_tests/fast/forms/select/select-selectedIndex-expected.txt b/third_party/blink/web_tests/fast/forms/select/select-selectedIndex-expected.txt
index 514621e..e0f0530 100644
--- a/third_party/blink/web_tests/fast/forms/select/select-selectedIndex-expected.txt
+++ b/third_party/blink/web_tests/fast/forms/select/select-selectedIndex-expected.txt
@@ -59,7 +59,7 @@
PASS mySelect.options.length is 10
PASS mySelect.selectedIndex is -1
19) trying to set an element that's not an option: select element
-PASS mySelect.options[10] = mySelect; threw exception TypeError: Failed to set an indexed property on 'HTMLOptionsCollection': parameter 3 is not of type 'HTMLOptionElement'..
+PASS mySelect.options[10] = mySelect; threw exception TypeError: Failed to set an indexed property on 'HTMLOptionsCollection': The provided value is not of type 'HTMLOptionElement'..
PASS mySelect.options.length is 10
PASS mySelect.selectedIndex is -1
20) trying to set a option element using an invalid index: negative infinity
diff --git a/third_party/blink/web_tests/fast/forms/select/select-selectedIndex-multiple-expected.txt b/third_party/blink/web_tests/fast/forms/select/select-selectedIndex-multiple-expected.txt
index e51ec9d..e10e140 100644
--- a/third_party/blink/web_tests/fast/forms/select/select-selectedIndex-multiple-expected.txt
+++ b/third_party/blink/web_tests/fast/forms/select/select-selectedIndex-multiple-expected.txt
@@ -59,7 +59,7 @@
PASS mySelect.options.length is 10
PASS mySelect.selectedIndex is 0
19) trying to set an element that's not an option: select element
-PASS mySelect.options[10] = mySelect; threw exception TypeError: Failed to set an indexed property on 'HTMLOptionsCollection': parameter 3 is not of type 'HTMLOptionElement'..
+PASS mySelect.options[10] = mySelect; threw exception TypeError: Failed to set an indexed property on 'HTMLOptionsCollection': The provided value is not of type 'HTMLOptionElement'..
PASS mySelect.options.length is 10
PASS mySelect.selectedIndex is 0
20) trying to set a option element using an invalid index: negative infinity
diff --git a/third_party/blink/web_tests/fast/js/Promise-bindings-check-exception-expected.txt b/third_party/blink/web_tests/fast/js/Promise-bindings-check-exception-expected.txt
index af2a622..c46b88bf 100644
--- a/third_party/blink/web_tests/fast/js/Promise-bindings-check-exception-expected.txt
+++ b/third_party/blink/web_tests/fast/js/Promise-bindings-check-exception-expected.txt
@@ -10,7 +10,7 @@
PASS Resolved as expected: convert(boolean)
PASS Rejected as expected: type error(Dictionary)
PASS reason instanceof Error is true
-TypeError: Failed to execute 'promiseCheck' on 'Internals': parameter 3 is not of type 'object'.
+TypeError: Failed to execute 'promiseCheck' on 'Internals': Failed to convert value to 'object'.
PASS Resolved as expected: convert(String)
PASS Rejected as expected: conversion error(toString)
PASS reason instanceof Error is true
@@ -28,7 +28,7 @@
PASS Resolved as expected: valid arguments
PASS Rejected as expected: type error(Dictionary)
PASS reason instanceof Error is true
-TypeError: Failed to execute 'promiseCheckWithoutExceptionState' on 'Internals': parameter 1 is not of type 'object'.
+TypeError: Failed to execute 'promiseCheckWithoutExceptionState' on 'Internals': Failed to convert value to 'object'.
PASS Resolved as expected: convert(String...)
PASS Rejected as expected: conversion error(String...)
PASS reason instanceof Error is true
@@ -41,10 +41,10 @@
PASS Resolved as expected: valid argument (Location, long, long)
PASS Rejected as expected: type error (Object)
PASS reason instanceof Error is true
-TypeError: Failed to execute 'promiseCheckOverload' on 'Internals': Overload resolution failed.
+TypeError: Failed to execute 'promiseCheckOverload' on 'Internals': No function was found that matched the signature provided.
PASS Rejected as expected: type error (Location, long)
PASS reason instanceof Error is true
-TypeError: Failed to execute 'promiseCheckOverload' on 'Internals': Overload resolution failed.
+TypeError: Failed to execute 'promiseCheckOverload' on 'Internals': Valid arities are: [1, 3], but 2 arguments provided.
PASS successfullyParsed is true
TEST COMPLETE
diff --git a/third_party/blink/web_tests/fast/js/getOwnPropertyDescriptor-expected.txt b/third_party/blink/web_tests/fast/js/getOwnPropertyDescriptor-expected.txt
index 5cfaa7b5..81b2aec7 100644
--- a/third_party/blink/web_tests/fast/js/getOwnPropertyDescriptor-expected.txt
+++ b/third_party/blink/web_tests/fast/js/getOwnPropertyDescriptor-expected.txt
@@ -33,6 +33,11 @@
PASS Object.getOwnPropertyDescriptor(document.__proto__.__proto__, 'createElement').hasOwnProperty('set') is false
PASS Object.getOwnPropertyDescriptor(document.__proto__.__proto__, 'createElement').enumerable is true
PASS Object.getOwnPropertyDescriptor(document.__proto__.__proto__, 'createElement').configurable is true
+PASS Object.getOwnPropertyDescriptor(window, 'location').value is window.location
+PASS Object.getOwnPropertyDescriptor(window, 'location').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(window, 'location').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(window, 'location').enumerable is true
+PASS Object.getOwnPropertyDescriptor(window, 'location').configurable is false
PASS Object.getOwnPropertyDescriptor(Number, 'NEGATIVE_INFINITY').value is Number.NEGATIVE_INFINITY
PASS Object.getOwnPropertyDescriptor(Number, 'NEGATIVE_INFINITY').hasOwnProperty('get') is false
PASS Object.getOwnPropertyDescriptor(Number, 'NEGATIVE_INFINITY').hasOwnProperty('set') is false
@@ -118,11 +123,21 @@
PASS Object.getOwnPropertyDescriptor(global, 'Infinity').hasOwnProperty('set') is false
PASS Object.getOwnPropertyDescriptor(global, 'Infinity').enumerable is false
PASS Object.getOwnPropertyDescriptor(global, 'Infinity').configurable is false
+PASS Object.getOwnPropertyDescriptor(global, 'window').value is global
+PASS Object.getOwnPropertyDescriptor(global, 'window').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'window').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'window').enumerable is true
+PASS Object.getOwnPropertyDescriptor(global, 'window').configurable is false
PASS Object.getOwnPropertyDescriptor(global, 'XMLHttpRequest').value is XMLHttpRequest
PASS Object.getOwnPropertyDescriptor(global, 'XMLHttpRequest').hasOwnProperty('get') is false
PASS Object.getOwnPropertyDescriptor(global, 'XMLHttpRequest').hasOwnProperty('set') is false
PASS Object.getOwnPropertyDescriptor(global, 'XMLHttpRequest').enumerable is false
PASS Object.getOwnPropertyDescriptor(global, 'XMLHttpRequest').configurable is true
+PASS Object.getOwnPropertyDescriptor(global, 'length').value is global.length
+PASS Object.getOwnPropertyDescriptor(global, 'length').hasOwnProperty('get') is false
+PASS Object.getOwnPropertyDescriptor(global, 'length').hasOwnProperty('set') is false
+PASS Object.getOwnPropertyDescriptor(global, 'length').enumerable is true
+FAIL Object.getOwnPropertyDescriptor(global, 'length').configurable should be false. Was true.
PASS Object.getOwnPropertyDescriptor(global, 0).value is global[0]
PASS Object.getOwnPropertyDescriptor(global, 0).hasOwnProperty('get') is false
PASS Object.getOwnPropertyDescriptor(global, 0).hasOwnProperty('set') is false
diff --git a/third_party/blink/web_tests/fast/js/resources/getOwnPropertyDescriptor.js b/third_party/blink/web_tests/fast/js/resources/getOwnPropertyDescriptor.js
index b27f4aba..f4406c4 100644
--- a/third_party/blink/web_tests/fast/js/resources/getOwnPropertyDescriptor.js
+++ b/third_party/blink/web_tests/fast/js/resources/getOwnPropertyDescriptor.js
@@ -24,6 +24,7 @@
descriptorShouldBe("String.prototype", "'concat'", {writable: true, enumerable: false, configurable: true, value:"String.prototype.concat"});
descriptorShouldBe("RegExp.prototype", "'exec'", {writable: true, enumerable: false, configurable: true, value:"RegExp.prototype.exec"});
descriptorShouldBe("document.__proto__.__proto__", "'createElement'", {writable: true, enumerable: true, configurable: true, value:"document.createElement"});
+descriptorShouldBe("window", "'location'", {writable: false, enumerable: true, configurable: false, value: "window.location"});
descriptorShouldBe("Number", "'NEGATIVE_INFINITY'", {writable: false, enumerable: false, configurable: false, value:"Number.NEGATIVE_INFINITY"});
descriptorShouldBe("RegExp", "'$_'", {writable: true, enumerable: false, configurable: true, value:"RegExp.$_"});
descriptorShouldBe("/a/g", "'global'", {writable: true, enumerable: false, configurable: false, value:true});
@@ -42,7 +43,9 @@
descriptorShouldBe("global", "'undefined'", {writable: false, enumerable: false, configurable: false, value:"undefined"});
descriptorShouldBe("global", "'NaN'", {writable: false, enumerable: false, configurable: false, value:"NaN"});
descriptorShouldBe("global", "'Infinity'", {writable: false, enumerable: false, configurable: false, value:"Infinity"});
+descriptorShouldBe("global", "'window'", {writable: false, enumerable: true, configurable: false, value:"global"});
descriptorShouldBe("global", "'XMLHttpRequest'", {writable: true, enumerable: false, configurable: true, value:"XMLHttpRequest"});
+descriptorShouldBe("global", "'length'", {writable: true, enumerable: true, configurable: false, value:"global.length"});
descriptorShouldBe("global", "0", {writable: false, enumerable: true, configurable: true, value:"global[0]"});
var objectWithGetter = {};
diff --git a/third_party/blink/web_tests/fast/mediastream/argument-types-expected.txt b/third_party/blink/web_tests/fast/mediastream/argument-types-expected.txt
index d5998ce..b6f91cb 100644
--- a/third_party/blink/web_tests/fast/mediastream/argument-types-expected.txt
+++ b/third_party/blink/web_tests/fast/mediastream/argument-types-expected.txt
@@ -8,32 +8,32 @@
PASS navigator.webkitGetUserMedia({video: true}, callbackFunction, callbackFunction) did not throw exception.
PASS navigator.webkitGetUserMedia({audio: true}, callbackFunction, callbackFunction) did not throw exception.
PASS navigator.webkitGetUserMedia({audio: true, video: true}, callbackFunction, callbackFunction) did not throw exception.
-PASS navigator.webkitGetUserMedia(-Infinity, emptyFunction, emptyFunction) threw exception TypeError: Failed to execute 'webkitGetUserMedia' on 'Navigator': cannot convert to dictionary..
-PASS navigator.webkitGetUserMedia(42, emptyFunction, emptyFunction) threw exception TypeError: Failed to execute 'webkitGetUserMedia' on 'Navigator': cannot convert to dictionary..
-PASS navigator.webkitGetUserMedia(Infinity, emptyFunction, emptyFunction) threw exception TypeError: Failed to execute 'webkitGetUserMedia' on 'Navigator': cannot convert to dictionary..
+PASS navigator.webkitGetUserMedia(-Infinity, emptyFunction, emptyFunction) threw exception TypeError: Failed to execute 'webkitGetUserMedia' on 'Navigator': parameter 1 ('constraints') is not an object..
+PASS navigator.webkitGetUserMedia(42, emptyFunction, emptyFunction) threw exception TypeError: Failed to execute 'webkitGetUserMedia' on 'Navigator': parameter 1 ('constraints') is not an object..
+PASS navigator.webkitGetUserMedia(Infinity, emptyFunction, emptyFunction) threw exception TypeError: Failed to execute 'webkitGetUserMedia' on 'Navigator': parameter 1 ('constraints') is not an object..
PASS navigator.webkitGetUserMedia(emptyFunction, emptyFunction, emptyFunction) threw exception TypeError: Failed to execute 'webkitGetUserMedia' on 'Navigator': At least one of audio and video must be requested.
PASS navigator.webkitGetUserMedia(null, emptyFunction, emptyFunction) threw exception TypeError: Failed to execute 'webkitGetUserMedia' on 'Navigator': At least one of audio and video must be requested.
-PASS navigator.webkitGetUserMedia(true, emptyFunction, emptyFunction) threw exception TypeError: Failed to execute 'webkitGetUserMedia' on 'Navigator': cannot convert to dictionary..
+PASS navigator.webkitGetUserMedia(true, emptyFunction, emptyFunction) threw exception TypeError: Failed to execute 'webkitGetUserMedia' on 'Navigator': parameter 1 ('constraints') is not an object..
PASS navigator.webkitGetUserMedia(undefined, emptyFunction, emptyFunction) threw exception TypeError: Failed to execute 'webkitGetUserMedia' on 'Navigator': At least one of audio and video must be requested.
PASS navigator.webkitGetUserMedia({ }, emptyFunction, emptyFunction) threw exception TypeError: Failed to execute 'webkitGetUserMedia' on 'Navigator': At least one of audio and video must be requested.
PASS navigator.webkitGetUserMedia({foo: true }, emptyFunction, emptyFunction) threw exception TypeError: Failed to execute 'webkitGetUserMedia' on 'Navigator': At least one of audio and video must be requested.
-PASS navigator.webkitGetUserMedia({audio:true, video:true}, emptyFunction, undefined) threw exception TypeError: Failed to execute 'webkitGetUserMedia' on 'Navigator': parameter 3 is not of type 'Function'..
-PASS navigator.webkitGetUserMedia({video: true}, "foobar", emptyFunction) threw exception TypeError: Failed to execute 'webkitGetUserMedia' on 'Navigator': parameter 2 is not of type 'Function'..
-PASS navigator.webkitGetUserMedia({video: true}, -Infinity, emptyFunction) threw exception TypeError: Failed to execute 'webkitGetUserMedia' on 'Navigator': parameter 2 is not of type 'Function'..
-PASS navigator.webkitGetUserMedia({video: true}, 42, emptyFunction) threw exception TypeError: Failed to execute 'webkitGetUserMedia' on 'Navigator': parameter 2 is not of type 'Function'..
-PASS navigator.webkitGetUserMedia({video: true}, Infinity, emptyFunction) threw exception TypeError: Failed to execute 'webkitGetUserMedia' on 'Navigator': parameter 2 is not of type 'Function'..
-PASS navigator.webkitGetUserMedia({video: true}, emptyFunction, "video") threw exception TypeError: Failed to execute 'webkitGetUserMedia' on 'Navigator': parameter 3 is not of type 'Function'..
-PASS navigator.webkitGetUserMedia({video: true}, emptyFunction, -Infinity) threw exception TypeError: Failed to execute 'webkitGetUserMedia' on 'Navigator': parameter 3 is not of type 'Function'..
-PASS navigator.webkitGetUserMedia({video: true}, emptyFunction, 42) threw exception TypeError: Failed to execute 'webkitGetUserMedia' on 'Navigator': parameter 3 is not of type 'Function'..
-PASS navigator.webkitGetUserMedia({video: true}, emptyFunction, Infinity) threw exception TypeError: Failed to execute 'webkitGetUserMedia' on 'Navigator': parameter 3 is not of type 'Function'..
-PASS navigator.webkitGetUserMedia({video: true}, emptyFunction, null) threw exception TypeError: Failed to execute 'webkitGetUserMedia' on 'Navigator': parameter 3 is not of type 'Function'..
-PASS navigator.webkitGetUserMedia({video: true}, emptyFunction, true) threw exception TypeError: Failed to execute 'webkitGetUserMedia' on 'Navigator': parameter 3 is not of type 'Function'..
-PASS navigator.webkitGetUserMedia({video: true}, emptyFunction, undefined) threw exception TypeError: Failed to execute 'webkitGetUserMedia' on 'Navigator': parameter 3 is not of type 'Function'..
-PASS navigator.webkitGetUserMedia({video: true}, emptyFunction, {}) threw exception TypeError: Failed to execute 'webkitGetUserMedia' on 'Navigator': parameter 3 is not of type 'Function'..
-PASS navigator.webkitGetUserMedia({video: true}, null, emptyFunction) threw exception TypeError: Failed to execute 'webkitGetUserMedia' on 'Navigator': parameter 2 is not of type 'Function'..
-PASS navigator.webkitGetUserMedia({video: true}, true, emptyFunction) threw exception TypeError: Failed to execute 'webkitGetUserMedia' on 'Navigator': parameter 2 is not of type 'Function'..
-PASS navigator.webkitGetUserMedia({video: true}, undefined, emptyFunction) threw exception TypeError: Failed to execute 'webkitGetUserMedia' on 'Navigator': parameter 2 is not of type 'Function'..
-PASS navigator.webkitGetUserMedia({video: true}, {}, emptyFunction) threw exception TypeError: Failed to execute 'webkitGetUserMedia' on 'Navigator': parameter 2 is not of type 'Function'..
+PASS navigator.webkitGetUserMedia({audio:true, video:true}, emptyFunction, undefined) threw exception TypeError: Failed to execute 'webkitGetUserMedia' on 'Navigator': The callback provided as parameter 3 is not a function..
+PASS navigator.webkitGetUserMedia({video: true}, "foobar", emptyFunction) threw exception TypeError: Failed to execute 'webkitGetUserMedia' on 'Navigator': The callback provided as parameter 2 is not a function..
+PASS navigator.webkitGetUserMedia({video: true}, -Infinity, emptyFunction) threw exception TypeError: Failed to execute 'webkitGetUserMedia' on 'Navigator': The callback provided as parameter 2 is not a function..
+PASS navigator.webkitGetUserMedia({video: true}, 42, emptyFunction) threw exception TypeError: Failed to execute 'webkitGetUserMedia' on 'Navigator': The callback provided as parameter 2 is not a function..
+PASS navigator.webkitGetUserMedia({video: true}, Infinity, emptyFunction) threw exception TypeError: Failed to execute 'webkitGetUserMedia' on 'Navigator': The callback provided as parameter 2 is not a function..
+PASS navigator.webkitGetUserMedia({video: true}, emptyFunction, "video") threw exception TypeError: Failed to execute 'webkitGetUserMedia' on 'Navigator': The callback provided as parameter 3 is not a function..
+PASS navigator.webkitGetUserMedia({video: true}, emptyFunction, -Infinity) threw exception TypeError: Failed to execute 'webkitGetUserMedia' on 'Navigator': The callback provided as parameter 3 is not a function..
+PASS navigator.webkitGetUserMedia({video: true}, emptyFunction, 42) threw exception TypeError: Failed to execute 'webkitGetUserMedia' on 'Navigator': The callback provided as parameter 3 is not a function..
+PASS navigator.webkitGetUserMedia({video: true}, emptyFunction, Infinity) threw exception TypeError: Failed to execute 'webkitGetUserMedia' on 'Navigator': The callback provided as parameter 3 is not a function..
+PASS navigator.webkitGetUserMedia({video: true}, emptyFunction, null) threw exception TypeError: Failed to execute 'webkitGetUserMedia' on 'Navigator': The callback provided as parameter 3 is not a function..
+PASS navigator.webkitGetUserMedia({video: true}, emptyFunction, true) threw exception TypeError: Failed to execute 'webkitGetUserMedia' on 'Navigator': The callback provided as parameter 3 is not a function..
+PASS navigator.webkitGetUserMedia({video: true}, emptyFunction, undefined) threw exception TypeError: Failed to execute 'webkitGetUserMedia' on 'Navigator': The callback provided as parameter 3 is not a function..
+PASS navigator.webkitGetUserMedia({video: true}, emptyFunction, {}) threw exception TypeError: Failed to execute 'webkitGetUserMedia' on 'Navigator': The callback provided as parameter 3 is not a function..
+PASS navigator.webkitGetUserMedia({video: true}, null, emptyFunction) threw exception TypeError: Failed to execute 'webkitGetUserMedia' on 'Navigator': The callback provided as parameter 2 is not a function..
+PASS navigator.webkitGetUserMedia({video: true}, true, emptyFunction) threw exception TypeError: Failed to execute 'webkitGetUserMedia' on 'Navigator': The callback provided as parameter 2 is not a function..
+PASS navigator.webkitGetUserMedia({video: true}, undefined, emptyFunction) threw exception TypeError: Failed to execute 'webkitGetUserMedia' on 'Navigator': The callback provided as parameter 2 is not a function..
+PASS navigator.webkitGetUserMedia({video: true}, {}, emptyFunction) threw exception TypeError: Failed to execute 'webkitGetUserMedia' on 'Navigator': The callback provided as parameter 2 is not a function..
PASS successfullyParsed is true
TEST COMPLETE
diff --git a/third_party/blink/web_tests/fast/peerconnection/RTCPeerConnection-expected.txt b/third_party/blink/web_tests/fast/peerconnection/RTCPeerConnection-expected.txt
index fd69d8b..e53daa9 100644
--- a/third_party/blink/web_tests/fast/peerconnection/RTCPeerConnection-expected.txt
+++ b/third_party/blink/web_tests/fast/peerconnection/RTCPeerConnection-expected.txt
@@ -11,7 +11,7 @@
PASS new RTCPeerConnection(undefined); did not throw exception.
PASS new RTCPeerConnection({}); did not throw exception.
PASS new RTCPeerConnection(); did not throw exception.
-PASS new RTCPeerConnection(''); threw exception TypeError: Failed to construct 'RTCPeerConnection': cannot convert to dictionary..
+PASS new RTCPeerConnection(''); threw exception TypeError: Failed to construct 'RTCPeerConnection': parameter 1 ('configuration') is not an object..
PASS new RTCPeerConnection({iceServers:[]}); did not throw exception.
PASS new RTCPeerConnection({iceServers:[{url:'stun:foo.com'}]}); did not throw exception.
PASS new RTCPeerConnection({iceServers:[{url:'turn:foo.com', username:'x', credential:'x'}]}); did not throw exception.
diff --git a/third_party/blink/web_tests/fast/peerconnection/RTCSessionDescription-expected.txt b/third_party/blink/web_tests/fast/peerconnection/RTCSessionDescription-expected.txt
index 31b17aac..e348671 100644
--- a/third_party/blink/web_tests/fast/peerconnection/RTCSessionDescription-expected.txt
+++ b/third_party/blink/web_tests/fast/peerconnection/RTCSessionDescription-expected.txt
@@ -11,8 +11,8 @@
PASS sessionDescription.sdp is "foobar"
PASS new RTCSessionDescription(); did not throw exception.
PASS new RTCSessionDescription({}); did not throw exception.
-PASS new RTCSessionDescription(5); threw exception TypeError: Failed to construct 'RTCSessionDescription': cannot convert to dictionary..
-PASS new RTCSessionDescription('foobar'); threw exception TypeError: Failed to construct 'RTCSessionDescription': cannot convert to dictionary..
+PASS new RTCSessionDescription(5); threw exception TypeError: Failed to construct 'RTCSessionDescription': parameter 1 ('descriptionInitDict') is not an object..
+PASS new RTCSessionDescription('foobar'); threw exception TypeError: Failed to construct 'RTCSessionDescription': parameter 1 ('descriptionInitDict') is not an object..
PASS new RTCSessionDescription({type:'foobar', sdp:'x'}); threw exception TypeError: Failed to construct 'RTCSessionDescription': The provided value 'foobar' is not a valid enum value of type RTCSdpType..
PASS new RTCSessionDescription({type:'offer', sdp:''}); did not throw exception.
PASS new RTCSessionDescription({type:'offer', sdp:'x'}); did not throw exception.
diff --git a/third_party/blink/web_tests/geolocation-api/argument-types-expected.txt b/third_party/blink/web_tests/geolocation-api/argument-types-expected.txt
index ccc7ad4..7257eed1 100644
--- a/third_party/blink/web_tests/geolocation-api/argument-types-expected.txt
+++ b/third_party/blink/web_tests/geolocation-api/argument-types-expected.txt
@@ -3,38 +3,38 @@
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
PASS navigator.geolocation.getCurrentPosition() threw exception TypeError: Failed to execute 'getCurrentPosition' on 'Geolocation': 1 argument required, but only 0 present..
-PASS navigator.geolocation.getCurrentPosition(undefined) threw exception TypeError: Failed to execute 'getCurrentPosition' on 'Geolocation': parameter 1 is not of type 'Function'..
-PASS navigator.geolocation.getCurrentPosition(null) threw exception TypeError: Failed to execute 'getCurrentPosition' on 'Geolocation': parameter 1 is not of type 'Function'..
-PASS navigator.geolocation.getCurrentPosition({}) threw exception TypeError: Failed to execute 'getCurrentPosition' on 'Geolocation': parameter 1 is not of type 'Function'..
-PASS navigator.geolocation.getCurrentPosition(objectThrowingException) threw exception TypeError: Failed to execute 'getCurrentPosition' on 'Geolocation': parameter 1 is not of type 'Function'..
+PASS navigator.geolocation.getCurrentPosition(undefined) threw exception TypeError: Failed to execute 'getCurrentPosition' on 'Geolocation': The callback provided as parameter 1 is not a function..
+PASS navigator.geolocation.getCurrentPosition(null) threw exception TypeError: Failed to execute 'getCurrentPosition' on 'Geolocation': The callback provided as parameter 1 is not a function..
+PASS navigator.geolocation.getCurrentPosition({}) threw exception TypeError: Failed to execute 'getCurrentPosition' on 'Geolocation': The callback provided as parameter 1 is not a function..
+PASS navigator.geolocation.getCurrentPosition(objectThrowingException) threw exception TypeError: Failed to execute 'getCurrentPosition' on 'Geolocation': The callback provided as parameter 1 is not a function..
PASS navigator.geolocation.getCurrentPosition(emptyFunction) did not throw exception.
PASS navigator.geolocation.getCurrentPosition(Math.abs) did not throw exception.
-PASS navigator.geolocation.getCurrentPosition(true) threw exception TypeError: Failed to execute 'getCurrentPosition' on 'Geolocation': parameter 1 is not of type 'Function'..
-PASS navigator.geolocation.getCurrentPosition(42) threw exception TypeError: Failed to execute 'getCurrentPosition' on 'Geolocation': parameter 1 is not of type 'Function'..
-PASS navigator.geolocation.getCurrentPosition(Infinity) threw exception TypeError: Failed to execute 'getCurrentPosition' on 'Geolocation': parameter 1 is not of type 'Function'..
-PASS navigator.geolocation.getCurrentPosition(-Infinity) threw exception TypeError: Failed to execute 'getCurrentPosition' on 'Geolocation': parameter 1 is not of type 'Function'..
-PASS navigator.geolocation.getCurrentPosition("string") threw exception TypeError: Failed to execute 'getCurrentPosition' on 'Geolocation': parameter 1 is not of type 'Function'..
+PASS navigator.geolocation.getCurrentPosition(true) threw exception TypeError: Failed to execute 'getCurrentPosition' on 'Geolocation': The callback provided as parameter 1 is not a function..
+PASS navigator.geolocation.getCurrentPosition(42) threw exception TypeError: Failed to execute 'getCurrentPosition' on 'Geolocation': The callback provided as parameter 1 is not a function..
+PASS navigator.geolocation.getCurrentPosition(Infinity) threw exception TypeError: Failed to execute 'getCurrentPosition' on 'Geolocation': The callback provided as parameter 1 is not a function..
+PASS navigator.geolocation.getCurrentPosition(-Infinity) threw exception TypeError: Failed to execute 'getCurrentPosition' on 'Geolocation': The callback provided as parameter 1 is not a function..
+PASS navigator.geolocation.getCurrentPosition("string") threw exception TypeError: Failed to execute 'getCurrentPosition' on 'Geolocation': The callback provided as parameter 1 is not a function..
PASS navigator.geolocation.getCurrentPosition(emptyFunction, undefined) did not throw exception.
PASS navigator.geolocation.getCurrentPosition(emptyFunction, null) did not throw exception.
-PASS navigator.geolocation.getCurrentPosition(emptyFunction, {}) threw exception TypeError: Failed to execute 'getCurrentPosition' on 'Geolocation': parameter 2 is not of type 'Function'..
-PASS navigator.geolocation.getCurrentPosition(emptyFunction, objectThrowingException) threw exception TypeError: Failed to execute 'getCurrentPosition' on 'Geolocation': parameter 2 is not of type 'Function'..
+PASS navigator.geolocation.getCurrentPosition(emptyFunction, {}) threw exception TypeError: Failed to execute 'getCurrentPosition' on 'Geolocation': The callback provided as parameter 2 is not a function..
+PASS navigator.geolocation.getCurrentPosition(emptyFunction, objectThrowingException) threw exception TypeError: Failed to execute 'getCurrentPosition' on 'Geolocation': The callback provided as parameter 2 is not a function..
PASS navigator.geolocation.getCurrentPosition(emptyFunction, emptyFunction) did not throw exception.
PASS navigator.geolocation.getCurrentPosition(emptyFunction, Math.abs) did not throw exception.
-PASS navigator.geolocation.getCurrentPosition(emptyFunction, true) threw exception TypeError: Failed to execute 'getCurrentPosition' on 'Geolocation': parameter 2 is not of type 'Function'..
-PASS navigator.geolocation.getCurrentPosition(emptyFunction, 42) threw exception TypeError: Failed to execute 'getCurrentPosition' on 'Geolocation': parameter 2 is not of type 'Function'..
-PASS navigator.geolocation.getCurrentPosition(emptyFunction, Infinity) threw exception TypeError: Failed to execute 'getCurrentPosition' on 'Geolocation': parameter 2 is not of type 'Function'..
-PASS navigator.geolocation.getCurrentPosition(emptyFunction, -Infinity) threw exception TypeError: Failed to execute 'getCurrentPosition' on 'Geolocation': parameter 2 is not of type 'Function'..
-PASS navigator.geolocation.getCurrentPosition(emptyFunction, "string") threw exception TypeError: Failed to execute 'getCurrentPosition' on 'Geolocation': parameter 2 is not of type 'Function'..
+PASS navigator.geolocation.getCurrentPosition(emptyFunction, true) threw exception TypeError: Failed to execute 'getCurrentPosition' on 'Geolocation': The callback provided as parameter 2 is not a function..
+PASS navigator.geolocation.getCurrentPosition(emptyFunction, 42) threw exception TypeError: Failed to execute 'getCurrentPosition' on 'Geolocation': The callback provided as parameter 2 is not a function..
+PASS navigator.geolocation.getCurrentPosition(emptyFunction, Infinity) threw exception TypeError: Failed to execute 'getCurrentPosition' on 'Geolocation': The callback provided as parameter 2 is not a function..
+PASS navigator.geolocation.getCurrentPosition(emptyFunction, -Infinity) threw exception TypeError: Failed to execute 'getCurrentPosition' on 'Geolocation': The callback provided as parameter 2 is not a function..
+PASS navigator.geolocation.getCurrentPosition(emptyFunction, "string") threw exception TypeError: Failed to execute 'getCurrentPosition' on 'Geolocation': The callback provided as parameter 2 is not a function..
PASS navigator.geolocation.getCurrentPosition(emptyFunction, undefined, undefined) did not throw exception.
PASS navigator.geolocation.getCurrentPosition(emptyFunction, undefined, null) did not throw exception.
PASS navigator.geolocation.getCurrentPosition(emptyFunction, undefined, {}) did not throw exception.
PASS navigator.geolocation.getCurrentPosition(emptyFunction, undefined, objectThrowingException) threw exception Error: enableHighAccuracy getter exception.
PASS navigator.geolocation.getCurrentPosition(emptyFunction, undefined, emptyFunction) did not throw exception.
-PASS navigator.geolocation.getCurrentPosition(emptyFunction, undefined, true) threw exception TypeError: Failed to execute 'getCurrentPosition' on 'Geolocation': cannot convert to dictionary..
-PASS navigator.geolocation.getCurrentPosition(emptyFunction, undefined, 42) threw exception TypeError: Failed to execute 'getCurrentPosition' on 'Geolocation': cannot convert to dictionary..
-PASS navigator.geolocation.getCurrentPosition(emptyFunction, undefined, Infinity) threw exception TypeError: Failed to execute 'getCurrentPosition' on 'Geolocation': cannot convert to dictionary..
-PASS navigator.geolocation.getCurrentPosition(emptyFunction, undefined, -Infinity) threw exception TypeError: Failed to execute 'getCurrentPosition' on 'Geolocation': cannot convert to dictionary..
-PASS navigator.geolocation.getCurrentPosition(emptyFunction, undefined, "string") threw exception TypeError: Failed to execute 'getCurrentPosition' on 'Geolocation': cannot convert to dictionary..
+PASS navigator.geolocation.getCurrentPosition(emptyFunction, undefined, true) threw exception TypeError: Failed to execute 'getCurrentPosition' on 'Geolocation': parameter 3 ('options') is not an object..
+PASS navigator.geolocation.getCurrentPosition(emptyFunction, undefined, 42) threw exception TypeError: Failed to execute 'getCurrentPosition' on 'Geolocation': parameter 3 ('options') is not an object..
+PASS navigator.geolocation.getCurrentPosition(emptyFunction, undefined, Infinity) threw exception TypeError: Failed to execute 'getCurrentPosition' on 'Geolocation': parameter 3 ('options') is not an object..
+PASS navigator.geolocation.getCurrentPosition(emptyFunction, undefined, -Infinity) threw exception TypeError: Failed to execute 'getCurrentPosition' on 'Geolocation': parameter 3 ('options') is not an object..
+PASS navigator.geolocation.getCurrentPosition(emptyFunction, undefined, "string") threw exception TypeError: Failed to execute 'getCurrentPosition' on 'Geolocation': parameter 3 ('options') is not an object..
PASS navigator.geolocation.getCurrentPosition(emptyFunction, undefined, {dummyProperty:undefined}) did not throw exception.
PASS navigator.geolocation.getCurrentPosition(emptyFunction, undefined, {dummyProperty:null}) did not throw exception.
PASS navigator.geolocation.getCurrentPosition(emptyFunction, undefined, {dummyProperty:{}}) did not throw exception.
diff --git a/third_party/blink/web_tests/html/tabular_data/table_exceptions-expected.txt b/third_party/blink/web_tests/html/tabular_data/table_exceptions-expected.txt
index 526b6168..57ee3d4 100644
--- a/third_party/blink/web_tests/html/tabular_data/table_exceptions-expected.txt
+++ b/third_party/blink/web_tests/html/tabular_data/table_exceptions-expected.txt
@@ -2,13 +2,13 @@
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-PASS t.caption = document.body threw exception TypeError: Failed to set the 'caption' property on 'HTMLTableElement': Failed to convert value to 'HTMLTableCaptionElement'..
-PASS t.tHead = document.body threw exception TypeError: Failed to set the 'tHead' property on 'HTMLTableElement': Failed to convert value to 'HTMLTableSectionElement'..
+PASS t.caption = document.body threw exception TypeError: Failed to set the 'caption' property on 'HTMLTableElement': The provided value is not of type 'HTMLTableCaptionElement'..
+PASS t.tHead = document.body threw exception TypeError: Failed to set the 'tHead' property on 'HTMLTableElement': The provided value is not of type 'HTMLTableSectionElement'..
PASS t.createTFoot() is t.tFoot
PASS t.tFoot is non-null.
PASS t.tFoot = null did not throw exception.
PASS t.tFoot is null
-PASS t.tFoot = document.body threw exception TypeError: Failed to set the 'tFoot' property on 'HTMLTableElement': Failed to convert value to 'HTMLTableSectionElement'..
+PASS t.tFoot = document.body threw exception TypeError: Failed to set the 'tFoot' property on 'HTMLTableElement': The provided value is not of type 'HTMLTableSectionElement'..
PASS t.insertRow(-2) threw exception IndexSizeError: Failed to execute 'insertRow' on 'HTMLTableElement': The index provided (-2) is less than -1..
PASS t.insertRow(1) threw exception IndexSizeError: Failed to execute 'insertRow' on 'HTMLTableElement': The index provided (1) is greater than the number of rows in the table (0)..
PASS t.deleteRow(-2) threw exception IndexSizeError: Failed to execute 'deleteRow' on 'HTMLTableElement': The index provided (-2) is less than -1..
diff --git a/third_party/blink/web_tests/http/tests/devtools/console/alert-toString-exception-expected.txt b/third_party/blink/web_tests/http/tests/devtools/console/alert-toString-exception-expected.txt
index 671f46b..c58926336 100644
--- a/third_party/blink/web_tests/http/tests/devtools/console/alert-toString-exception-expected.txt
+++ b/third_party/blink/web_tests/http/tests/devtools/console/alert-toString-exception-expected.txt
@@ -2,5 +2,6 @@
Page reloaded.
alert-toString-exception.html:2 Uncaught Exception in toString().
+toString @ alert-toString-exception.html:2
(anonymous) @ alert-toString-exception.html:2
diff --git a/third_party/blink/web_tests/http/tests/devtools/console/console-log-side-effects-expected.txt b/third_party/blink/web_tests/http/tests/devtools/console/console-log-side-effects-expected.txt
index a5cef76..28fc728 100644
--- a/third_party/blink/web_tests/http/tests/devtools/console/console-log-side-effects-expected.txt
+++ b/third_party/blink/web_tests/http/tests/devtools/console/console-log-side-effects-expected.txt
@@ -13,7 +13,7 @@
console-log-side-effects.js:34 Boolean {true}
console-log-side-effects.js:35 String {"foo"}
console-log-side-effects.js:36 {}
-console-log-side-effects.js:37 Window {window: Window, self: Window, document: document, name: "", location: Location, …}
+console-log-side-effects.js:37 Window {parent: Window, opener: null, top: Window, length: 0, frames: Window, …}
console-log-side-effects.js:43
console-log-side-effects.js:47 {foo: 1, bar: 2}
console-log-side-effects.js:48 (3) [1, 2, 3]
diff --git a/third_party/blink/web_tests/http/tests/dom/location-stringify.html b/third_party/blink/web_tests/http/tests/dom/location-stringify.html
index 2a852a7..547d9c1 100644
--- a/third_party/blink/web_tests/http/tests/dom/location-stringify.html
+++ b/third_party/blink/web_tests/http/tests/dom/location-stringify.html
@@ -24,7 +24,7 @@
assertEqual(
"stringify",
JSON.stringify(window.location),
- '{"ancestorOrigins":{},"href":"http://127.0.0.1:8000/dom/location-stringify.html","origin":"http://127.0.0.1:8000","protocol":"http:","host":"127.0.0.1:8000","hostname":"127.0.0.1","port":"8000","pathname":"/dom/location-stringify.html","search":"","hash":""}');
+ '{"href":"http://127.0.0.1:8000/dom/location-stringify.html","ancestorOrigins":{},"origin":"http://127.0.0.1:8000","protocol":"http:","host":"127.0.0.1:8000","hostname":"127.0.0.1","port":"8000","pathname":"/dom/location-stringify.html","search":"","hash":""}');
}
</script>
</head>
diff --git a/third_party/blink/web_tests/http/tests/security/cross-frame-access-enumeration-expected.txt b/third_party/blink/web_tests/http/tests/security/cross-frame-access-enumeration-expected.txt
index 2c1f9d59..4a4de46 100644
--- a/third_party/blink/web_tests/http/tests/security/cross-frame-access-enumeration-expected.txt
+++ b/third_party/blink/web_tests/http/tests/security/cross-frame-access-enumeration-expected.txt
@@ -4,6 +4,6 @@
PASS: Cross frame access by getting the keys of the window object was denied.
PASS: Cross frame access by getting the property names of the window object was denied.
PASS: Cross frame access by enumerating the Location object revealed no properties.
-PASS: Cross frame access by getting the keys of the Location object revealed only whitelisted keys.
+FAIL: Cross frame access by getting the keys of the Location object returned non-whitelisted key: href
PASS: Cross frame access by getting the property names of the Location object revealed no custom properties.
diff --git a/third_party/blink/web_tests/http/tests/serviceworker/service-worker-gc-expected.txt b/third_party/blink/web_tests/http/tests/serviceworker/service-worker-gc-expected.txt
index b686c4d..226b651 100644
--- a/third_party/blink/web_tests/http/tests/serviceworker/service-worker-gc-expected.txt
+++ b/third_party/blink/web_tests/http/tests/serviceworker/service-worker-gc-expected.txt
@@ -5,7 +5,7 @@
PASS registrationObservation.wasCollected is false
PASS swObservation.wasCollected is false
PASS registrationObservation.wasCollected is false
-PASS swObservation.wasCollected is true
+PASS swObservation.wasCollected is false
PASS successfullyParsed is true
TEST COMPLETE
diff --git a/third_party/blink/web_tests/http/tests/serviceworker/service-worker-gc.html b/third_party/blink/web_tests/http/tests/serviceworker/service-worker-gc.html
index 22f2ab4f..dfe7b5a 100644
--- a/third_party/blink/web_tests/http/tests/serviceworker/service-worker-gc.html
+++ b/third_party/blink/web_tests/http/tests/serviceworker/service-worker-gc.html
@@ -83,7 +83,7 @@
// once the new worker is activated, check that the old worker is gc'd.
gc();
shouldBeFalse('registrationObservation.wasCollected');
- shouldBeTrue('swObservation.wasCollected');
+ shouldBeFalse('swObservation.wasCollected');
finishJSTest();
}
</script>
diff --git a/third_party/blink/web_tests/images/image-document-remove-listener.html b/third_party/blink/web_tests/images/image-document-remove-listener.html
index b353afcc..e162cd2 100644
--- a/third_party/blink/web_tests/images/image-document-remove-listener.html
+++ b/third_party/blink/web_tests/images/image-document-remove-listener.html
@@ -13,7 +13,7 @@
try {
newWindow.removeEventListener("resize", 2);
} catch (e) {
- assert_equals(e.message, "Failed to execute 'removeEventListener' on 'EventTarget': parameter 2 is not of type 'Object'.");
+ assert_equals(e.message, "Failed to execute 'removeEventListener' on 'EventTarget': The callback provided as parameter 2 is not an object.");
}
});
});
diff --git a/third_party/blink/web_tests/storage/indexeddb/create-object-store-options-expected.txt b/third_party/blink/web_tests/storage/indexeddb/create-object-store-options-expected.txt
index 590a7dac..55c091b 100644
--- a/third_party/blink/web_tests/storage/indexeddb/create-object-store-options-expected.txt
+++ b/third_party/blink/web_tests/storage/indexeddb/create-object-store-options-expected.txt
@@ -13,10 +13,10 @@
trans.objectStore('a').put({'a': 0})
Expecting TypeError exception from db.createObjectStore('d', 'bar');
PASS Exception was thrown.
-PASS db.createObjectStore('d', 'bar'); threw TypeError: Failed to execute 'createObjectStore' on 'IDBDatabase': cannot convert to dictionary.
+PASS db.createObjectStore('d', 'bar'); threw TypeError: Failed to execute 'createObjectStore' on 'IDBDatabase': parameter 2 ('options') is not an object.
Expecting TypeError exception from db.createObjectStore('e', false);
PASS Exception was thrown.
-PASS db.createObjectStore('e', false); threw TypeError: Failed to execute 'createObjectStore' on 'IDBDatabase': cannot convert to dictionary.
+PASS db.createObjectStore('e', false); threw TypeError: Failed to execute 'createObjectStore' on 'IDBDatabase': parameter 2 ('options') is not an object.
trans.objectStore('b').put({'a': 0}, 0)
trans.objectStore('a').get(0)
PASS event.target.result.a is {a: 0}
diff --git a/third_party/blink/web_tests/storage/indexeddb/index-basics-expected.txt b/third_party/blink/web_tests/storage/indexeddb/index-basics-expected.txt
index 31d5858..861f4c9 100644
--- a/third_party/blink/web_tests/storage/indexeddb/index-basics-expected.txt
+++ b/third_party/blink/web_tests/storage/indexeddb/index-basics-expected.txt
@@ -17,10 +17,10 @@
PASS indexObject3.unique is true
Expecting TypeError exception from store.createIndex('failureIndex', 'zzz', true)
PASS Exception was thrown.
-PASS store.createIndex('failureIndex', 'zzz', true) threw TypeError: Failed to execute 'createIndex' on 'IDBObjectStore': cannot convert to dictionary.
+PASS store.createIndex('failureIndex', 'zzz', true) threw TypeError: Failed to execute 'createIndex' on 'IDBObjectStore': parameter 3 ('options') is not an object.
Expecting TypeError exception from store.createIndex('failureIndex', 'zzz', 'string')
PASS Exception was thrown.
-PASS store.createIndex('failureIndex', 'zzz', 'string') threw TypeError: Failed to execute 'createIndex' on 'IDBObjectStore': cannot convert to dictionary.
+PASS store.createIndex('failureIndex', 'zzz', 'string') threw TypeError: Failed to execute 'createIndex' on 'IDBObjectStore': parameter 3 ('options') is not an object.
PASS 'name' in indexObject is true
PASS indexObject.name is "indexName"
PASS 'objectStore' in indexObject is true
diff --git a/third_party/blink/web_tests/storage/indexeddb/index-basics-workers-expected.txt b/third_party/blink/web_tests/storage/indexeddb/index-basics-workers-expected.txt
index f0ad73b2..7c2096f 100644
--- a/third_party/blink/web_tests/storage/indexeddb/index-basics-workers-expected.txt
+++ b/third_party/blink/web_tests/storage/indexeddb/index-basics-workers-expected.txt
@@ -17,10 +17,10 @@
PASS [Worker] indexObject3.unique is true
[Worker] Expecting TypeError exception from store.createIndex('failureIndex', 'zzz', true)
PASS [Worker] Exception was thrown.
-PASS [Worker] store.createIndex('failureIndex', 'zzz', true) threw TypeError: Failed to execute 'createIndex' on 'IDBObjectStore': cannot convert to dictionary.
+PASS [Worker] store.createIndex('failureIndex', 'zzz', true) threw TypeError: Failed to execute 'createIndex' on 'IDBObjectStore': parameter 3 ('options') is not an object.
[Worker] Expecting TypeError exception from store.createIndex('failureIndex', 'zzz', 'string')
PASS [Worker] Exception was thrown.
-PASS [Worker] store.createIndex('failureIndex', 'zzz', 'string') threw TypeError: Failed to execute 'createIndex' on 'IDBObjectStore': cannot convert to dictionary.
+PASS [Worker] store.createIndex('failureIndex', 'zzz', 'string') threw TypeError: Failed to execute 'createIndex' on 'IDBObjectStore': parameter 3 ('options') is not an object.
PASS [Worker] 'name' in indexObject is true
PASS [Worker] indexObject.name is "indexName"
PASS [Worker] 'objectStore' in indexObject is true
diff --git a/third_party/blink/web_tests/svg/dom/SVGNumberList-basics-expected.txt b/third_party/blink/web_tests/svg/dom/SVGNumberList-basics-expected.txt
index e3ebaed..ee01331 100644
--- a/third_party/blink/web_tests/svg/dom/SVGNumberList-basics-expected.txt
+++ b/third_party/blink/web_tests/svg/dom/SVGNumberList-basics-expected.txt
@@ -90,10 +90,10 @@
Test uncommon values for indexed setter
-PASS text1.rotate.baseVal[0] = 30 threw exception TypeError: Failed to set an indexed property on 'SVGNumberList': parameter 3 is not of type 'SVGNumber'..
-PASS text1.rotate.baseVal[0] = 'aString' threw exception TypeError: Failed to set an indexed property on 'SVGNumberList': parameter 3 is not of type 'SVGNumber'..
-PASS text1.rotate.baseVal[0] = text1 threw exception TypeError: Failed to set an indexed property on 'SVGNumberList': parameter 3 is not of type 'SVGNumber'..
-PASS text1.rotate.baseVal[0] = null threw exception TypeError: Failed to set an indexed property on 'SVGNumberList': parameter 3 is not of type 'SVGNumber'..
+PASS text1.rotate.baseVal[0] = 30 threw exception TypeError: Failed to set an indexed property on 'SVGNumberList': The provided value is not of type 'SVGNumber'..
+PASS text1.rotate.baseVal[0] = 'aString' threw exception TypeError: Failed to set an indexed property on 'SVGNumberList': The provided value is not of type 'SVGNumber'..
+PASS text1.rotate.baseVal[0] = text1 threw exception TypeError: Failed to set an indexed property on 'SVGNumberList': The provided value is not of type 'SVGNumber'..
+PASS text1.rotate.baseVal[0] = null threw exception TypeError: Failed to set an indexed property on 'SVGNumberList': The provided value is not of type 'SVGNumber'..
PASS text1.rotate.baseVal.replaceItem(text1.rotate.baseVal.getItem(0), 0) is text1.rotate.baseVal.getItem(0)
PASS text1.rotate.baseVal.numberOfItems is 4
PASS text1.rotate.baseVal.getItem(0).value is 1
diff --git a/third_party/blink/web_tests/svg/dom/SVGPointList-basics-expected.txt b/third_party/blink/web_tests/svg/dom/SVGPointList-basics-expected.txt
index a475e28..9c30ae4 100644
--- a/third_party/blink/web_tests/svg/dom/SVGPointList-basics-expected.txt
+++ b/third_party/blink/web_tests/svg/dom/SVGPointList-basics-expected.txt
@@ -103,10 +103,10 @@
Test uncommon values for indexed setter
-PASS poly1.points[0] = 30 threw exception TypeError: Failed to set an indexed property on 'SVGPointList': parameter 3 is not of type 'SVGPoint'..
-PASS poly1.points[0] = 'aString' threw exception TypeError: Failed to set an indexed property on 'SVGPointList': parameter 3 is not of type 'SVGPoint'..
-PASS poly1.points[0] = poly1 threw exception TypeError: Failed to set an indexed property on 'SVGPointList': parameter 3 is not of type 'SVGPoint'..
-PASS poly1.points[0] = null threw exception TypeError: Failed to set an indexed property on 'SVGPointList': parameter 3 is not of type 'SVGPoint'..
+PASS poly1.points[0] = 30 threw exception TypeError: Failed to set an indexed property on 'SVGPointList': The provided value is not of type 'SVGPoint'..
+PASS poly1.points[0] = 'aString' threw exception TypeError: Failed to set an indexed property on 'SVGPointList': The provided value is not of type 'SVGPoint'..
+PASS poly1.points[0] = poly1 threw exception TypeError: Failed to set an indexed property on 'SVGPointList': The provided value is not of type 'SVGPoint'..
+PASS poly1.points[0] = null threw exception TypeError: Failed to set an indexed property on 'SVGPointList': The provided value is not of type 'SVGPoint'..
Test uncommon arguments for replaceItem() and xml-dom synchronization
diff --git a/third_party/blink/web_tests/virtual/not-site-per-process/external/wpt/html/browsers/history/the-location-interface/allow_prototype_cycle_through_location.sub-expected.txt b/third_party/blink/web_tests/virtual/not-site-per-process/external/wpt/html/browsers/history/the-location-interface/allow_prototype_cycle_through_location.sub-expected.txt
deleted file mode 100644
index c5e1c42a..0000000
--- a/third_party/blink/web_tests/virtual/not-site-per-process/external/wpt/html/browsers/history/the-location-interface/allow_prototype_cycle_through_location.sub-expected.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-This is a testharness.js-based test.
-FAIL same-origin, same-window location cycle Immutable prototype object '#<Location>' cannot have their prototype set
-PASS cross-origin location has null prototype
-FAIL same-origin, different-window location cycle Immutable prototype object '[object Location]' cannot have their prototype set
-FAIL cross-origin, but joined via document.domain, location cycle Immutable prototype object '[object Location]' cannot have their prototype set
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/virtual/not-site-per-process/external/wpt/html/browsers/history/the-location-interface/location-prototype-setting-same-origin-domain.sub-expected.txt b/third_party/blink/web_tests/virtual/not-site-per-process/external/wpt/html/browsers/history/the-location-interface/location-prototype-setting-same-origin-domain.sub-expected.txt
index dcd0d65..93fac7b 100644
--- a/third_party/blink/web_tests/virtual/not-site-per-process/external/wpt/html/browsers/history/the-location-interface/location-prototype-setting-same-origin-domain.sub-expected.txt
+++ b/third_party/blink/web_tests/virtual/not-site-per-process/external/wpt/html/browsers/history/the-location-interface/location-prototype-setting-same-origin-domain.sub-expected.txt
@@ -1,9 +1,13 @@
This is a testharness.js-based test.
PASS Same-origin-domain prerequisite check: the original prototype is accessible
-PASS Same-origin-domain: setting the prototype to an empty object via Object.setPrototypeOf should throw a TypeError
-PASS Same-origin-domain: setting the prototype to an empty object via __proto__ should throw a TypeError
-PASS Same-origin-domain: setting the prototype to an empty object via Reflect.setPrototypeOf should return false
-PASS Same-origin-domain: the prototype must still be its original value
+FAIL Same-origin-domain: setting the prototype to an empty object via Object.setPrototypeOf should throw a TypeError assert_throws_js: function "() => {
+ Object.setPrototypeOf(target, newValue);
+ }" did not throw
+FAIL Same-origin-domain: setting the prototype to an empty object via __proto__ should throw a TypeError assert_throws_js: function "function() {
+ target.__proto__ = newValue;
+ }" did not throw
+FAIL Same-origin-domain: setting the prototype to an empty object via Reflect.setPrototypeOf should return false assert_false: expected false got true
+FAIL Same-origin-domain: the prototype must still be its original value assert_equals: expected object "[object Location]" but got object "[object Object]"
PASS Same-origin-domain: setting the prototype to its original value via Object.setPrototypeOf should not throw
PASS Same-origin-domain: setting the prototype to its original value via __proto__ should not throw
PASS Same-origin-domain: setting the prototype to its original value via Reflect.setPrototypeOf should return true
diff --git a/third_party/blink/web_tests/virtual/stable/fast/dom/Window/property-access-on-cached-window-after-frame-navigated-expected.txt b/third_party/blink/web_tests/virtual/stable/fast/dom/Window/property-access-on-cached-window-after-frame-navigated-expected.txt
index d1c9ca42..f1080ca 100644
--- a/third_party/blink/web_tests/virtual/stable/fast/dom/Window/property-access-on-cached-window-after-frame-navigated-expected.txt
+++ b/third_party/blink/web_tests/virtual/stable/fast/dom/Window/property-access-on-cached-window-after-frame-navigated-expected.txt
@@ -170,7 +170,6 @@
PASS oldChildWindow.outerWidth is newChildWindow.outerWidth
PASS oldChildWindow.pageXOffset is newChildWindow.pageXOffset
PASS oldChildWindow.pageYOffset is newChildWindow.pageYOffset
-PASS oldChildWindow.performance.eventCounts.size is newChildWindow.performance.eventCounts.size
PASS oldChildWindow.performance.navigation.redirectCount is newChildWindow.performance.navigation.redirectCount
PASS oldChildWindow.performance.navigation.type is newChildWindow.performance.navigation.type
PASS oldChildWindow.performance.onresourcetimingbufferfull is newChildWindow.performance.onresourcetimingbufferfull
diff --git a/third_party/blink/web_tests/virtual/stable/fast/dom/Window/property-access-on-cached-window-after-frame-removed-and-gced-expected.txt b/third_party/blink/web_tests/virtual/stable/fast/dom/Window/property-access-on-cached-window-after-frame-removed-and-gced-expected.txt
index 41ad130..e9d66ba 100644
--- a/third_party/blink/web_tests/virtual/stable/fast/dom/Window/property-access-on-cached-window-after-frame-removed-and-gced-expected.txt
+++ b/third_party/blink/web_tests/virtual/stable/fast/dom/Window/property-access-on-cached-window-after-frame-removed-and-gced-expected.txt
@@ -11,7 +11,6 @@
PASS childWindow.innerWidth is 0
PASS childWindow.isSecureContext is false
PASS childWindow.length is 0
-FAIL childWindow.location.href should be about:blank (of type string). Was undefined (of type undefined).
PASS childWindow.locationbar.visible is false
PASS childWindow.menubar.visible is false
PASS childWindow.name is ''
@@ -23,6 +22,8 @@
PASS childWindow.navigator.hardwareConcurrency is window.navigator.hardwareConcurrency
PASS childWindow.navigator.language is window.navigator.language
PASS childWindow.navigator.maxTouchPoints is 0
+PASS childWindow.navigator.mediaSession.metadata is null
+PASS childWindow.navigator.mediaSession.playbackState is 'none'
PASS childWindow.navigator.onLine is window.navigator.onLine
PASS childWindow.navigator.platform is window.navigator.platform
PASS childWindow.navigator.product is window.navigator.product
diff --git a/third_party/blink/web_tests/virtual/stable/fast/dom/Window/property-access-on-cached-window-after-frame-removed-expected.txt b/third_party/blink/web_tests/virtual/stable/fast/dom/Window/property-access-on-cached-window-after-frame-removed-expected.txt
index c2b19c9..bc99058 100644
--- a/third_party/blink/web_tests/virtual/stable/fast/dom/Window/property-access-on-cached-window-after-frame-removed-expected.txt
+++ b/third_party/blink/web_tests/virtual/stable/fast/dom/Window/property-access-on-cached-window-after-frame-removed-expected.txt
@@ -11,7 +11,6 @@
PASS childWindow.innerWidth is 0
PASS childWindow.isSecureContext is false
PASS childWindow.length is 0
-FAIL childWindow.location.href should be about:blank (of type string). Was undefined (of type undefined).
PASS childWindow.locationbar.visible is false
PASS childWindow.menubar.visible is false
PASS childWindow.name is ''
@@ -23,6 +22,8 @@
PASS childWindow.navigator.hardwareConcurrency is window.navigator.hardwareConcurrency
PASS childWindow.navigator.language is window.navigator.language
PASS childWindow.navigator.maxTouchPoints is 0
+PASS childWindow.navigator.mediaSession.metadata is null
+PASS childWindow.navigator.mediaSession.playbackState is 'none'
PASS childWindow.navigator.onLine is window.navigator.onLine
PASS childWindow.navigator.platform is window.navigator.platform
PASS childWindow.navigator.product is window.navigator.product
diff --git a/third_party/blink/web_tests/virtual/stable/fast/dom/Window/window-properties-performance-expected.txt b/third_party/blink/web_tests/virtual/stable/fast/dom/Window/window-properties-performance-expected.txt
index 7b10e0c..b241cd9 100644
--- a/third_party/blink/web_tests/virtual/stable/fast/dom/Window/window-properties-performance-expected.txt
+++ b/third_party/blink/web_tests/virtual/stable/fast/dom/Window/window-properties-performance-expected.txt
@@ -12,7 +12,6 @@
window.performance.eventCounts.get [function]
window.performance.eventCounts.has [function]
window.performance.eventCounts.keys [function]
-window.performance.eventCounts.size [number]
window.performance.eventCounts.values [function]
window.performance.getEntries [function]
window.performance.getEntriesByName [function]
diff --git a/third_party/blink/web_tests/virtual/stable/webexposed/global-interface-listing-expected.txt b/third_party/blink/web_tests/virtual/stable/webexposed/global-interface-listing-expected.txt
index 7aae3e6..19f47de1 100644
--- a/third_party/blink/web_tests/virtual/stable/webexposed/global-interface-listing-expected.txt
+++ b/third_party/blink/web_tests/virtual/stable/webexposed/global-interface-listing-expected.txt
@@ -452,7 +452,6 @@
attribute @@toStringTag
getter cssRules
getter name
- method @@iterator
method appendRule
method constructor
method deleteRule
@@ -2705,7 +2704,6 @@
setter size
interface HTMLFormControlsCollection : HTMLCollection
attribute @@toStringTag
- method @@iterator
method constructor
method namedItem
interface HTMLFormElement : HTMLElement
@@ -5539,7 +5537,6 @@
interface RadioNodeList : NodeList
attribute @@toStringTag
getter value
- method @@iterator
method constructor
setter value
interface Range
@@ -9373,6 +9370,7 @@
attribute @@toStringTag
getter src
getter weight
+ method constructor
setter src
setter weight
interface webkitSpeechGrammarList
@@ -9381,6 +9379,7 @@
method @@iterator
method addFromString
method addFromUri
+ method constructor
method item
interface webkitSpeechRecognition : EventTarget
attribute @@toStringTag
@@ -9401,6 +9400,7 @@
getter onspeechstart
getter onstart
method abort
+ method constructor
method start
method stop
setter continuous
@@ -9423,12 +9423,14 @@
attribute @@toStringTag
getter error
getter message
+ method constructor
interface webkitSpeechRecognitionEvent : Event
attribute @@toStringTag
getter emma
getter interpretation
getter resultIndex
getter results
+ method constructor
interface webkitURL
static method createObjectURL
static method revokeObjectURL
@@ -9462,17 +9464,25 @@
attribute GCController
attribute accessibilityController
attribute chrome
+ attribute closed
attribute console
attribute eventSender
+ attribute frames
attribute gamepadController
attribute globalThis
attribute internals
+ attribute length
+ attribute location
+ attribute opener
+ attribute parent
attribute propertyNamesInGlobal
+ attribute self
attribute testRunner
attribute textInputController
+ attribute top
+ attribute window
getter caches
getter clientInformation
- getter closed
getter crypto
getter customElements
getter defaultStatus
@@ -9482,15 +9492,12 @@
getter event
getter external
getter frameElement
- getter frames
getter history
getter indexedDB
getter innerHeight
getter innerWidth
getter isSecureContext
- getter length
getter localStorage
- getter location
getter locationbar
getter menubar
getter name
@@ -9604,13 +9611,11 @@
getter onwebkitanimationstart
getter onwebkittransitionend
getter onwheel
- getter opener
getter origin
getter outerHeight
getter outerWidth
getter pageXOffset
getter pageYOffset
- getter parent
getter performance
getter personalbar
getter screen
@@ -9621,18 +9626,15 @@
getter scrollX
getter scrollY
getter scrollbars
- getter self
getter sessionStorage
getter speechSynthesis
getter status
getter statusbar
getter styleMedia
getter toolbar
- getter top
getter trustedTypes
getter visualViewport
getter webkitStorageInfo
- getter window
method NodeFilter
method alert
method atob
@@ -9682,11 +9684,8 @@
setter devicePixelRatio
setter event
setter external
- setter frames
setter innerHeight
setter innerWidth
- setter length
- setter location
setter locationbar
setter menubar
setter name
@@ -9799,13 +9798,11 @@
setter onwebkitanimationstart
setter onwebkittransitionend
setter onwheel
- setter opener
setter origin
setter outerHeight
setter outerWidth
setter pageXOffset
setter pageYOffset
- setter parent
setter performance
setter personalbar
setter screen
@@ -9816,7 +9813,6 @@
setter scrollX
setter scrollY
setter scrollbars
- setter self
setter status
setter statusbar
setter toolbar
diff --git "a/third_party/blink/web_tests/virtual/web-components-v0-disabled/external/wpt/html/dom/idlharness.https_exclude=\050Document_Window_HTML._\051-expected.txt" "b/third_party/blink/web_tests/virtual/web-components-v0-disabled/external/wpt/html/dom/idlharness.https_exclude=\050Document_Window_HTML._\051-expected.txt"
new file mode 100644
index 0000000..9f3049c
--- /dev/null
+++ "b/third_party/blink/web_tests/virtual/web-components-v0-disabled/external/wpt/html/dom/idlharness.https_exclude=\050Document_Window_HTML._\051-expected.txt"
@@ -0,0 +1,1416 @@
+This is a testharness.js-based test.
+Found 1412 tests; 1327 PASS, 85 FAIL, 0 TIMEOUT, 0 NOTRUN.
+PASS idl_test setup
+PASS idl_test validation
+PASS Partial interface Document: original interface defined
+PASS Partial interface Document: member names are unique
+PASS Partial interface mixin DocumentOrShadowRoot: original interface mixin defined
+PASS Partial interface mixin DocumentOrShadowRoot: member names are unique
+PASS Partial interface mixin NavigatorID: original interface mixin defined
+PASS Partial interface mixin NavigatorID: member names are unique
+PASS Partial interface HTMLAnchorElement: original interface defined
+PASS Partial interface HTMLAnchorElement: member names are unique
+PASS Partial interface HTMLAreaElement: original interface defined
+PASS Partial interface HTMLAreaElement: member names are unique
+PASS Partial interface HTMLBodyElement: original interface defined
+PASS Partial interface HTMLBodyElement: member names are unique
+PASS Partial interface HTMLBRElement: original interface defined
+PASS Partial interface HTMLBRElement: member names are unique
+PASS Partial interface HTMLTableCaptionElement: original interface defined
+PASS Partial interface HTMLTableCaptionElement: member names are unique
+PASS Partial interface HTMLTableColElement: original interface defined
+PASS Partial interface HTMLTableColElement: member names are unique
+PASS Partial interface HTMLDivElement: original interface defined
+PASS Partial interface HTMLDivElement: member names are unique
+PASS Partial interface HTMLDListElement: original interface defined
+PASS Partial interface HTMLDListElement: member names are unique
+PASS Partial interface HTMLEmbedElement: original interface defined
+PASS Partial interface HTMLEmbedElement: member names are unique
+PASS Partial interface HTMLHeadingElement: original interface defined
+PASS Partial interface HTMLHeadingElement: member names are unique
+PASS Partial interface HTMLHRElement: original interface defined
+PASS Partial interface HTMLHRElement: member names are unique
+PASS Partial interface HTMLHtmlElement: original interface defined
+PASS Partial interface HTMLHtmlElement: member names are unique
+PASS Partial interface HTMLIFrameElement: original interface defined
+PASS Partial interface HTMLIFrameElement: member names are unique
+PASS Partial interface HTMLImageElement: original interface defined
+PASS Partial interface HTMLImageElement: member names are unique
+PASS Partial interface HTMLInputElement: original interface defined
+PASS Partial interface HTMLInputElement: member names are unique
+PASS Partial interface HTMLLegendElement: original interface defined
+PASS Partial interface HTMLLegendElement: member names are unique
+PASS Partial interface HTMLLIElement: original interface defined
+PASS Partial interface HTMLLIElement: member names are unique
+PASS Partial interface HTMLLinkElement: original interface defined
+PASS Partial interface HTMLLinkElement: member names are unique
+PASS Partial interface HTMLMenuElement: original interface defined
+PASS Partial interface HTMLMenuElement: member names are unique
+PASS Partial interface HTMLMetaElement: original interface defined
+PASS Partial interface HTMLMetaElement: member names are unique
+PASS Partial interface HTMLObjectElement: original interface defined
+PASS Partial interface HTMLObjectElement: member names are unique
+PASS Partial interface HTMLOListElement: original interface defined
+PASS Partial interface HTMLOListElement: member names are unique
+PASS Partial interface HTMLParagraphElement: original interface defined
+PASS Partial interface HTMLParagraphElement: member names are unique
+PASS Partial interface HTMLParamElement: original interface defined
+PASS Partial interface HTMLParamElement: member names are unique
+PASS Partial interface HTMLPreElement: original interface defined
+PASS Partial interface HTMLPreElement: member names are unique
+PASS Partial interface HTMLStyleElement: original interface defined
+PASS Partial interface HTMLStyleElement: member names are unique
+PASS Partial interface HTMLScriptElement: original interface defined
+PASS Partial interface HTMLScriptElement: member names are unique
+PASS Partial interface HTMLTableElement: original interface defined
+PASS Partial interface HTMLTableElement: member names are unique
+PASS Partial interface HTMLTableSectionElement: original interface defined
+PASS Partial interface HTMLTableSectionElement: member names are unique
+PASS Partial interface HTMLTableCellElement: original interface defined
+PASS Partial interface HTMLTableCellElement: member names are unique
+PASS Partial interface HTMLTableRowElement: original interface defined
+PASS Partial interface HTMLTableRowElement: member names are unique
+PASS Partial interface HTMLUListElement: original interface defined
+PASS Partial interface HTMLUListElement: member names are unique
+PASS Partial interface Document[2]: original interface defined
+PASS Partial interface Document[2]: member names are unique
+PASS Partial interface Window: original interface defined
+PASS Partial interface Window: member names are unique
+PASS Partial interface Document[3]: member names are unique
+PASS Partial interface mixin DocumentOrShadowRoot[2]: member names are unique
+PASS Partial interface UIEvent: member names are unique
+PASS Document includes GlobalEventHandlers: member names are unique
+PASS Document includes DocumentAndElementEventHandlers: member names are unique
+PASS Document includes NonElementParentNode: member names are unique
+PASS Document includes DocumentOrShadowRoot: member names are unique
+PASS Document includes ParentNode: member names are unique
+PASS Document includes XPathEvaluatorBase: member names are unique
+PASS HTMLElement includes GlobalEventHandlers: member names are unique
+PASS HTMLElement includes DocumentAndElementEventHandlers: member names are unique
+PASS HTMLElement includes ElementContentEditable: member names are unique
+PASS HTMLElement includes HTMLOrSVGElement: member names are unique
+PASS HTMLElement includes ElementCSSInlineStyle: member names are unique
+PASS HTMLLinkElement includes LinkStyle: member names are unique
+PASS HTMLStyleElement includes LinkStyle: member names are unique
+PASS HTMLBodyElement includes WindowEventHandlers: member names are unique
+PASS HTMLAnchorElement includes HTMLHyperlinkElementUtils: member names are unique
+PASS HTMLAreaElement includes HTMLHyperlinkElementUtils: member names are unique
+PASS CanvasRenderingContext2D includes CanvasState: member names are unique
+PASS CanvasRenderingContext2D includes CanvasTransform: member names are unique
+PASS CanvasRenderingContext2D includes CanvasCompositing: member names are unique
+PASS CanvasRenderingContext2D includes CanvasImageSmoothing: member names are unique
+PASS CanvasRenderingContext2D includes CanvasFillStrokeStyles: member names are unique
+PASS CanvasRenderingContext2D includes CanvasShadowStyles: member names are unique
+PASS CanvasRenderingContext2D includes CanvasFilters: member names are unique
+PASS CanvasRenderingContext2D includes CanvasRect: member names are unique
+PASS CanvasRenderingContext2D includes CanvasDrawPath: member names are unique
+PASS CanvasRenderingContext2D includes CanvasUserInterface: member names are unique
+PASS CanvasRenderingContext2D includes CanvasText: member names are unique
+PASS CanvasRenderingContext2D includes CanvasDrawImage: member names are unique
+PASS CanvasRenderingContext2D includes CanvasImageData: member names are unique
+PASS CanvasRenderingContext2D includes CanvasPathDrawingStyles: member names are unique
+PASS CanvasRenderingContext2D includes CanvasTextDrawingStyles: member names are unique
+PASS CanvasRenderingContext2D includes CanvasPath: member names are unique
+PASS Path2D includes CanvasPath: member names are unique
+PASS OffscreenCanvasRenderingContext2D includes CanvasState: member names are unique
+PASS OffscreenCanvasRenderingContext2D includes CanvasTransform: member names are unique
+PASS OffscreenCanvasRenderingContext2D includes CanvasCompositing: member names are unique
+PASS OffscreenCanvasRenderingContext2D includes CanvasImageSmoothing: member names are unique
+PASS OffscreenCanvasRenderingContext2D includes CanvasFillStrokeStyles: member names are unique
+PASS OffscreenCanvasRenderingContext2D includes CanvasShadowStyles: member names are unique
+PASS OffscreenCanvasRenderingContext2D includes CanvasFilters: member names are unique
+PASS OffscreenCanvasRenderingContext2D includes CanvasRect: member names are unique
+PASS OffscreenCanvasRenderingContext2D includes CanvasDrawPath: member names are unique
+PASS OffscreenCanvasRenderingContext2D includes CanvasText: member names are unique
+PASS OffscreenCanvasRenderingContext2D includes CanvasDrawImage: member names are unique
+PASS OffscreenCanvasRenderingContext2D includes CanvasImageData: member names are unique
+PASS OffscreenCanvasRenderingContext2D includes CanvasPathDrawingStyles: member names are unique
+PASS OffscreenCanvasRenderingContext2D includes CanvasTextDrawingStyles: member names are unique
+PASS OffscreenCanvasRenderingContext2D includes CanvasPath: member names are unique
+PASS Window includes GlobalEventHandlers: member names are unique
+PASS Window includes WindowEventHandlers: member names are unique
+PASS Window includes WindowOrWorkerGlobalScope: member names are unique
+PASS Window includes AnimationFrameProvider: member names are unique
+PASS Window includes WindowSessionStorage: member names are unique
+PASS Window includes WindowLocalStorage: member names are unique
+PASS WorkerGlobalScope includes WindowOrWorkerGlobalScope: member names are unique
+PASS Navigator includes NavigatorID: member names are unique
+PASS Navigator includes NavigatorLanguage: member names are unique
+PASS Navigator includes NavigatorOnLine: member names are unique
+PASS Navigator includes NavigatorContentUtils: member names are unique
+PASS Navigator includes NavigatorCookies: member names are unique
+PASS Navigator includes NavigatorPlugins: member names are unique
+PASS Navigator includes NavigatorConcurrentHardware: member names are unique
+PASS DedicatedWorkerGlobalScope includes AnimationFrameProvider: member names are unique
+PASS Worker includes AbstractWorker: member names are unique
+PASS SharedWorker includes AbstractWorker: member names are unique
+PASS WorkerNavigator includes NavigatorID: member names are unique
+PASS WorkerNavigator includes NavigatorLanguage: member names are unique
+PASS WorkerNavigator includes NavigatorOnLine: member names are unique
+PASS WorkerNavigator includes NavigatorConcurrentHardware: member names are unique
+PASS HTMLFrameSetElement includes WindowEventHandlers: member names are unique
+PASS SVGElement includes GlobalEventHandlers: member names are unique
+PASS SVGElement includes DocumentAndElementEventHandlers: member names are unique
+PASS SVGElement includes SVGElementInstance: member names are unique
+PASS SVGElement includes HTMLOrSVGElement: member names are unique
+PASS SVGElement includes ElementCSSInlineStyle: member names are unique
+PASS SVGGraphicsElement includes SVGTests: member names are unique
+PASS SVGSVGElement includes SVGFitToViewBox: member names are unique
+PASS SVGSVGElement includes WindowEventHandlers: member names are unique
+PASS SVGImageElement includes SVGURIReference: member names are unique
+PASS SVGScriptElement includes SVGURIReference: member names are unique
+PASS SVGAElement includes SVGURIReference: member names are unique
+FAIL SVGAElement includes HTMLHyperlinkElementUtils: member names are unique assert_true: member href is unique expected true got false
+PASS DocumentFragment includes NonElementParentNode: member names are unique
+PASS DocumentFragment includes ParentNode: member names are unique
+PASS ShadowRoot includes DocumentOrShadowRoot: member names are unique
+PASS Element includes ParentNode: member names are unique
+PASS Element includes NonDocumentTypeChildNode: member names are unique
+PASS Element includes ChildNode: member names are unique
+PASS Element includes Slottable: member names are unique
+PASS RadioNodeList interface: existence and properties of interface object
+PASS RadioNodeList interface object length
+PASS RadioNodeList interface object name
+PASS RadioNodeList interface: existence and properties of interface prototype object
+PASS RadioNodeList interface: existence and properties of interface prototype object's "constructor" property
+PASS RadioNodeList interface: existence and properties of interface prototype object's @@unscopables property
+PASS RadioNodeList interface: attribute value
+PASS DOMStringList interface: existence and properties of interface object
+PASS DOMStringList interface object length
+PASS DOMStringList interface object name
+PASS DOMStringList interface: existence and properties of interface prototype object
+PASS DOMStringList interface: existence and properties of interface prototype object's "constructor" property
+PASS DOMStringList interface: existence and properties of interface prototype object's @@unscopables property
+PASS DOMStringList interface: attribute length
+PASS DOMStringList interface: operation item(unsigned long)
+PASS DOMStringList interface: operation contains(DOMString)
+PASS DOMStringList must be primary interface of location.ancestorOrigins
+PASS Stringification of location.ancestorOrigins
+PASS DOMStringList interface: location.ancestorOrigins must inherit property "length" with the proper type
+PASS DOMStringList interface: location.ancestorOrigins must inherit property "item(unsigned long)" with the proper type
+PASS DOMStringList interface: calling item(unsigned long) on location.ancestorOrigins with too few arguments must throw TypeError
+PASS DOMStringList interface: location.ancestorOrigins must inherit property "contains(DOMString)" with the proper type
+PASS DOMStringList interface: calling contains(DOMString) on location.ancestorOrigins with too few arguments must throw TypeError
+PASS DOMStringMap interface: existence and properties of interface object
+PASS DOMStringMap interface object length
+PASS DOMStringMap interface object name
+PASS DOMStringMap interface: existence and properties of interface prototype object
+PASS DOMStringMap interface: existence and properties of interface prototype object's "constructor" property
+PASS DOMStringMap interface: existence and properties of interface prototype object's @@unscopables property
+PASS DOMStringMap must be primary interface of document.head.dataset
+PASS Stringification of document.head.dataset
+PASS MediaError interface: existence and properties of interface object
+PASS MediaError interface object length
+PASS MediaError interface object name
+PASS MediaError interface: existence and properties of interface prototype object
+PASS MediaError interface: existence and properties of interface prototype object's "constructor" property
+PASS MediaError interface: existence and properties of interface prototype object's @@unscopables property
+PASS MediaError interface: constant MEDIA_ERR_ABORTED on interface object
+PASS MediaError interface: constant MEDIA_ERR_ABORTED on interface prototype object
+PASS MediaError interface: constant MEDIA_ERR_NETWORK on interface object
+PASS MediaError interface: constant MEDIA_ERR_NETWORK on interface prototype object
+PASS MediaError interface: constant MEDIA_ERR_DECODE on interface object
+PASS MediaError interface: constant MEDIA_ERR_DECODE on interface prototype object
+PASS MediaError interface: constant MEDIA_ERR_SRC_NOT_SUPPORTED on interface object
+PASS MediaError interface: constant MEDIA_ERR_SRC_NOT_SUPPORTED on interface prototype object
+PASS MediaError interface: attribute code
+PASS MediaError interface: attribute message
+PASS MediaError must be primary interface of errorVideo.error
+PASS Stringification of errorVideo.error
+PASS MediaError interface: errorVideo.error must inherit property "MEDIA_ERR_ABORTED" with the proper type
+PASS MediaError interface: errorVideo.error must inherit property "MEDIA_ERR_NETWORK" with the proper type
+PASS MediaError interface: errorVideo.error must inherit property "MEDIA_ERR_DECODE" with the proper type
+PASS MediaError interface: errorVideo.error must inherit property "MEDIA_ERR_SRC_NOT_SUPPORTED" with the proper type
+PASS MediaError interface: errorVideo.error must inherit property "code" with the proper type
+PASS MediaError interface: errorVideo.error must inherit property "message" with the proper type
+PASS AudioTrackList interface: existence and properties of interface object
+PASS AudioTrackList interface object length
+PASS AudioTrackList interface object name
+PASS AudioTrackList interface: existence and properties of interface prototype object
+PASS AudioTrackList interface: existence and properties of interface prototype object's "constructor" property
+PASS AudioTrackList interface: existence and properties of interface prototype object's @@unscopables property
+PASS AudioTrackList interface: attribute length
+PASS AudioTrackList interface: operation getTrackById(DOMString)
+PASS AudioTrackList interface: attribute onchange
+PASS AudioTrackList interface: attribute onaddtrack
+PASS AudioTrackList interface: attribute onremovetrack
+PASS AudioTrack interface: existence and properties of interface object
+PASS AudioTrack interface object length
+PASS AudioTrack interface object name
+PASS AudioTrack interface: existence and properties of interface prototype object
+PASS AudioTrack interface: existence and properties of interface prototype object's "constructor" property
+PASS AudioTrack interface: existence and properties of interface prototype object's @@unscopables property
+PASS AudioTrack interface: attribute id
+PASS AudioTrack interface: attribute kind
+PASS AudioTrack interface: attribute label
+PASS AudioTrack interface: attribute language
+PASS AudioTrack interface: attribute enabled
+PASS VideoTrackList interface: existence and properties of interface object
+PASS VideoTrackList interface object length
+PASS VideoTrackList interface object name
+PASS VideoTrackList interface: existence and properties of interface prototype object
+PASS VideoTrackList interface: existence and properties of interface prototype object's "constructor" property
+PASS VideoTrackList interface: existence and properties of interface prototype object's @@unscopables property
+PASS VideoTrackList interface: attribute length
+PASS VideoTrackList interface: operation getTrackById(DOMString)
+PASS VideoTrackList interface: attribute selectedIndex
+PASS VideoTrackList interface: attribute onchange
+PASS VideoTrackList interface: attribute onaddtrack
+PASS VideoTrackList interface: attribute onremovetrack
+PASS VideoTrack interface: existence and properties of interface object
+PASS VideoTrack interface object length
+PASS VideoTrack interface object name
+PASS VideoTrack interface: existence and properties of interface prototype object
+PASS VideoTrack interface: existence and properties of interface prototype object's "constructor" property
+PASS VideoTrack interface: existence and properties of interface prototype object's @@unscopables property
+PASS VideoTrack interface: attribute id
+PASS VideoTrack interface: attribute kind
+PASS VideoTrack interface: attribute label
+PASS VideoTrack interface: attribute language
+PASS VideoTrack interface: attribute selected
+PASS TextTrackList interface: existence and properties of interface object
+PASS TextTrackList interface object length
+PASS TextTrackList interface object name
+PASS TextTrackList interface: existence and properties of interface prototype object
+PASS TextTrackList interface: existence and properties of interface prototype object's "constructor" property
+PASS TextTrackList interface: existence and properties of interface prototype object's @@unscopables property
+PASS TextTrackList interface: attribute length
+PASS TextTrackList interface: operation getTrackById(DOMString)
+PASS TextTrackList interface: attribute onchange
+PASS TextTrackList interface: attribute onaddtrack
+PASS TextTrackList interface: attribute onremovetrack
+PASS TextTrackList must be primary interface of document.createElement("video").textTracks
+PASS Stringification of document.createElement("video").textTracks
+PASS TextTrackList interface: document.createElement("video").textTracks must inherit property "length" with the proper type
+PASS TextTrackList interface: document.createElement("video").textTracks must inherit property "getTrackById(DOMString)" with the proper type
+PASS TextTrackList interface: calling getTrackById(DOMString) on document.createElement("video").textTracks with too few arguments must throw TypeError
+PASS TextTrackList interface: document.createElement("video").textTracks must inherit property "onchange" with the proper type
+PASS TextTrackList interface: document.createElement("video").textTracks must inherit property "onaddtrack" with the proper type
+PASS TextTrackList interface: document.createElement("video").textTracks must inherit property "onremovetrack" with the proper type
+PASS TextTrack interface: existence and properties of interface object
+PASS TextTrack interface object length
+PASS TextTrack interface object name
+PASS TextTrack interface: existence and properties of interface prototype object
+PASS TextTrack interface: existence and properties of interface prototype object's "constructor" property
+PASS TextTrack interface: existence and properties of interface prototype object's @@unscopables property
+PASS TextTrack interface: attribute kind
+PASS TextTrack interface: attribute label
+PASS TextTrack interface: attribute language
+PASS TextTrack interface: attribute id
+FAIL TextTrack interface: attribute inBandMetadataTrackDispatchType assert_true: The prototype object must have a property "inBandMetadataTrackDispatchType" expected true got false
+PASS TextTrack interface: attribute mode
+PASS TextTrack interface: attribute cues
+PASS TextTrack interface: attribute activeCues
+PASS TextTrack interface: operation addCue(TextTrackCue)
+PASS TextTrack interface: operation removeCue(TextTrackCue)
+PASS TextTrack interface: attribute oncuechange
+PASS TextTrack must be primary interface of document.createElement("track").track
+PASS Stringification of document.createElement("track").track
+PASS TextTrack interface: document.createElement("track").track must inherit property "kind" with the proper type
+PASS TextTrack interface: document.createElement("track").track must inherit property "label" with the proper type
+PASS TextTrack interface: document.createElement("track").track must inherit property "language" with the proper type
+PASS TextTrack interface: document.createElement("track").track must inherit property "id" with the proper type
+FAIL TextTrack interface: document.createElement("track").track must inherit property "inBandMetadataTrackDispatchType" with the proper type assert_inherits: property "inBandMetadataTrackDispatchType" not found in prototype chain
+PASS TextTrack interface: document.createElement("track").track must inherit property "mode" with the proper type
+PASS TextTrack interface: document.createElement("track").track must inherit property "cues" with the proper type
+PASS TextTrack interface: document.createElement("track").track must inherit property "activeCues" with the proper type
+PASS TextTrack interface: document.createElement("track").track must inherit property "addCue(TextTrackCue)" with the proper type
+PASS TextTrack interface: calling addCue(TextTrackCue) on document.createElement("track").track with too few arguments must throw TypeError
+PASS TextTrack interface: document.createElement("track").track must inherit property "removeCue(TextTrackCue)" with the proper type
+PASS TextTrack interface: calling removeCue(TextTrackCue) on document.createElement("track").track with too few arguments must throw TypeError
+PASS TextTrack interface: document.createElement("track").track must inherit property "oncuechange" with the proper type
+PASS TextTrackCueList interface: existence and properties of interface object
+PASS TextTrackCueList interface object length
+PASS TextTrackCueList interface object name
+PASS TextTrackCueList interface: existence and properties of interface prototype object
+PASS TextTrackCueList interface: existence and properties of interface prototype object's "constructor" property
+PASS TextTrackCueList interface: existence and properties of interface prototype object's @@unscopables property
+PASS TextTrackCueList interface: attribute length
+PASS TextTrackCueList interface: operation getCueById(DOMString)
+PASS TextTrackCueList must be primary interface of document.createElement("video").addTextTrack("subtitles").cues
+PASS Stringification of document.createElement("video").addTextTrack("subtitles").cues
+PASS TextTrackCueList interface: document.createElement("video").addTextTrack("subtitles").cues must inherit property "length" with the proper type
+PASS TextTrackCueList interface: document.createElement("video").addTextTrack("subtitles").cues must inherit property "getCueById(DOMString)" with the proper type
+PASS TextTrackCueList interface: calling getCueById(DOMString) on document.createElement("video").addTextTrack("subtitles").cues with too few arguments must throw TypeError
+PASS TextTrackCue interface: existence and properties of interface object
+PASS TextTrackCue interface object length
+PASS TextTrackCue interface object name
+PASS TextTrackCue interface: existence and properties of interface prototype object
+PASS TextTrackCue interface: existence and properties of interface prototype object's "constructor" property
+PASS TextTrackCue interface: existence and properties of interface prototype object's @@unscopables property
+PASS TextTrackCue interface: attribute track
+PASS TextTrackCue interface: attribute id
+PASS TextTrackCue interface: attribute startTime
+PASS TextTrackCue interface: attribute endTime
+PASS TextTrackCue interface: attribute pauseOnExit
+PASS TextTrackCue interface: attribute onenter
+PASS TextTrackCue interface: attribute onexit
+PASS TimeRanges interface: existence and properties of interface object
+PASS TimeRanges interface object length
+PASS TimeRanges interface object name
+PASS TimeRanges interface: existence and properties of interface prototype object
+PASS TimeRanges interface: existence and properties of interface prototype object's "constructor" property
+PASS TimeRanges interface: existence and properties of interface prototype object's @@unscopables property
+PASS TimeRanges interface: attribute length
+PASS TimeRanges interface: operation start(unsigned long)
+PASS TimeRanges interface: operation end(unsigned long)
+PASS TimeRanges must be primary interface of document.createElement("video").buffered
+PASS Stringification of document.createElement("video").buffered
+PASS TimeRanges interface: document.createElement("video").buffered must inherit property "length" with the proper type
+PASS TimeRanges interface: document.createElement("video").buffered must inherit property "start(unsigned long)" with the proper type
+PASS TimeRanges interface: calling start(unsigned long) on document.createElement("video").buffered with too few arguments must throw TypeError
+PASS TimeRanges interface: document.createElement("video").buffered must inherit property "end(unsigned long)" with the proper type
+PASS TimeRanges interface: calling end(unsigned long) on document.createElement("video").buffered with too few arguments must throw TypeError
+PASS TrackEvent interface: existence and properties of interface object
+PASS TrackEvent interface object length
+PASS TrackEvent interface object name
+PASS TrackEvent interface: existence and properties of interface prototype object
+PASS TrackEvent interface: existence and properties of interface prototype object's "constructor" property
+PASS TrackEvent interface: existence and properties of interface prototype object's @@unscopables property
+PASS TrackEvent interface: attribute track
+PASS TrackEvent must be primary interface of new TrackEvent("addtrack", {track:document.createElement("track").track})
+PASS Stringification of new TrackEvent("addtrack", {track:document.createElement("track").track})
+PASS TrackEvent interface: new TrackEvent("addtrack", {track:document.createElement("track").track}) must inherit property "track" with the proper type
+PASS ValidityState interface: existence and properties of interface object
+PASS ValidityState interface object length
+PASS ValidityState interface object name
+PASS ValidityState interface: existence and properties of interface prototype object
+PASS ValidityState interface: existence and properties of interface prototype object's "constructor" property
+PASS ValidityState interface: existence and properties of interface prototype object's @@unscopables property
+PASS ValidityState interface: attribute valueMissing
+PASS ValidityState interface: attribute typeMismatch
+PASS ValidityState interface: attribute patternMismatch
+PASS ValidityState interface: attribute tooLong
+PASS ValidityState interface: attribute tooShort
+PASS ValidityState interface: attribute rangeUnderflow
+PASS ValidityState interface: attribute rangeOverflow
+PASS ValidityState interface: attribute stepMismatch
+PASS ValidityState interface: attribute badInput
+PASS ValidityState interface: attribute customError
+PASS ValidityState interface: attribute valid
+PASS ValidityState must be primary interface of document.createElement("input").validity
+PASS Stringification of document.createElement("input").validity
+PASS ValidityState interface: document.createElement("input").validity must inherit property "valueMissing" with the proper type
+PASS ValidityState interface: document.createElement("input").validity must inherit property "typeMismatch" with the proper type
+PASS ValidityState interface: document.createElement("input").validity must inherit property "patternMismatch" with the proper type
+PASS ValidityState interface: document.createElement("input").validity must inherit property "tooLong" with the proper type
+PASS ValidityState interface: document.createElement("input").validity must inherit property "tooShort" with the proper type
+PASS ValidityState interface: document.createElement("input").validity must inherit property "rangeUnderflow" with the proper type
+PASS ValidityState interface: document.createElement("input").validity must inherit property "rangeOverflow" with the proper type
+PASS ValidityState interface: document.createElement("input").validity must inherit property "stepMismatch" with the proper type
+PASS ValidityState interface: document.createElement("input").validity must inherit property "badInput" with the proper type
+PASS ValidityState interface: document.createElement("input").validity must inherit property "customError" with the proper type
+PASS ValidityState interface: document.createElement("input").validity must inherit property "valid" with the proper type
+PASS SubmitEvent interface: existence and properties of interface object
+PASS SubmitEvent interface object length
+PASS SubmitEvent interface object name
+PASS SubmitEvent interface: existence and properties of interface prototype object
+PASS SubmitEvent interface: existence and properties of interface prototype object's "constructor" property
+PASS SubmitEvent interface: existence and properties of interface prototype object's @@unscopables property
+PASS SubmitEvent interface: attribute submitter
+PASS FormDataEvent interface: existence and properties of interface object
+PASS FormDataEvent interface object length
+PASS FormDataEvent interface object name
+PASS FormDataEvent interface: existence and properties of interface prototype object
+PASS FormDataEvent interface: existence and properties of interface prototype object's "constructor" property
+PASS FormDataEvent interface: existence and properties of interface prototype object's @@unscopables property
+PASS FormDataEvent interface: attribute formData
+PASS FormDataEvent must be primary interface of new FormDataEvent("formdata", { formData: new FormData() })
+PASS Stringification of new FormDataEvent("formdata", { formData: new FormData() })
+PASS FormDataEvent interface: new FormDataEvent("formdata", { formData: new FormData() }) must inherit property "formData" with the proper type
+PASS CanvasRenderingContext2D interface: existence and properties of interface object
+PASS CanvasRenderingContext2D interface object length
+PASS CanvasRenderingContext2D interface object name
+PASS CanvasRenderingContext2D interface: existence and properties of interface prototype object
+PASS CanvasRenderingContext2D interface: existence and properties of interface prototype object's "constructor" property
+PASS CanvasRenderingContext2D interface: existence and properties of interface prototype object's @@unscopables property
+PASS CanvasRenderingContext2D interface: attribute canvas
+PASS CanvasRenderingContext2D interface: operation getContextAttributes()
+PASS CanvasRenderingContext2D interface: operation save()
+PASS CanvasRenderingContext2D interface: operation restore()
+PASS CanvasRenderingContext2D interface: operation scale(unrestricted double, unrestricted double)
+PASS CanvasRenderingContext2D interface: operation rotate(unrestricted double)
+PASS CanvasRenderingContext2D interface: operation translate(unrestricted double, unrestricted double)
+PASS CanvasRenderingContext2D interface: operation transform(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double)
+PASS CanvasRenderingContext2D interface: operation getTransform()
+PASS CanvasRenderingContext2D interface: operation setTransform(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double)
+PASS CanvasRenderingContext2D interface: operation setTransform(optional DOMMatrix2DInit)
+PASS CanvasRenderingContext2D interface: operation resetTransform()
+PASS CanvasRenderingContext2D interface: attribute globalAlpha
+PASS CanvasRenderingContext2D interface: attribute globalCompositeOperation
+PASS CanvasRenderingContext2D interface: attribute imageSmoothingEnabled
+PASS CanvasRenderingContext2D interface: attribute imageSmoothingQuality
+PASS CanvasRenderingContext2D interface: attribute strokeStyle
+PASS CanvasRenderingContext2D interface: attribute fillStyle
+PASS CanvasRenderingContext2D interface: operation createLinearGradient(double, double, double, double)
+PASS CanvasRenderingContext2D interface: operation createRadialGradient(double, double, double, double, double, double)
+PASS CanvasRenderingContext2D interface: operation createPattern(CanvasImageSource, DOMString)
+PASS CanvasRenderingContext2D interface: attribute shadowOffsetX
+PASS CanvasRenderingContext2D interface: attribute shadowOffsetY
+PASS CanvasRenderingContext2D interface: attribute shadowBlur
+PASS CanvasRenderingContext2D interface: attribute shadowColor
+PASS CanvasRenderingContext2D interface: attribute filter
+PASS CanvasRenderingContext2D interface: operation clearRect(unrestricted double, unrestricted double, unrestricted double, unrestricted double)
+PASS CanvasRenderingContext2D interface: operation fillRect(unrestricted double, unrestricted double, unrestricted double, unrestricted double)
+PASS CanvasRenderingContext2D interface: operation strokeRect(unrestricted double, unrestricted double, unrestricted double, unrestricted double)
+PASS CanvasRenderingContext2D interface: operation beginPath()
+PASS CanvasRenderingContext2D interface: operation fill(optional CanvasFillRule)
+PASS CanvasRenderingContext2D interface: operation fill(Path2D, optional CanvasFillRule)
+PASS CanvasRenderingContext2D interface: operation stroke()
+PASS CanvasRenderingContext2D interface: operation stroke(Path2D)
+PASS CanvasRenderingContext2D interface: operation clip(optional CanvasFillRule)
+PASS CanvasRenderingContext2D interface: operation clip(Path2D, optional CanvasFillRule)
+PASS CanvasRenderingContext2D interface: operation isPointInPath(unrestricted double, unrestricted double, optional CanvasFillRule)
+PASS CanvasRenderingContext2D interface: operation isPointInPath(Path2D, unrestricted double, unrestricted double, optional CanvasFillRule)
+PASS CanvasRenderingContext2D interface: operation isPointInStroke(unrestricted double, unrestricted double)
+PASS CanvasRenderingContext2D interface: operation isPointInStroke(Path2D, unrestricted double, unrestricted double)
+PASS CanvasRenderingContext2D interface: operation drawFocusIfNeeded(Element)
+PASS CanvasRenderingContext2D interface: operation drawFocusIfNeeded(Path2D, Element)
+PASS CanvasRenderingContext2D interface: operation scrollPathIntoView()
+PASS CanvasRenderingContext2D interface: operation scrollPathIntoView(Path2D)
+PASS CanvasRenderingContext2D interface: operation fillText(DOMString, unrestricted double, unrestricted double, optional unrestricted double)
+PASS CanvasRenderingContext2D interface: operation strokeText(DOMString, unrestricted double, unrestricted double, optional unrestricted double)
+PASS CanvasRenderingContext2D interface: operation measureText(DOMString)
+PASS CanvasRenderingContext2D interface: operation drawImage(CanvasImageSource, unrestricted double, unrestricted double)
+PASS CanvasRenderingContext2D interface: operation drawImage(CanvasImageSource, unrestricted double, unrestricted double, unrestricted double, unrestricted double)
+PASS CanvasRenderingContext2D interface: operation drawImage(CanvasImageSource, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double)
+PASS CanvasRenderingContext2D interface: operation createImageData(long, long)
+PASS CanvasRenderingContext2D interface: operation createImageData(ImageData)
+PASS CanvasRenderingContext2D interface: operation getImageData(long, long, long, long)
+PASS CanvasRenderingContext2D interface: operation putImageData(ImageData, long, long)
+PASS CanvasRenderingContext2D interface: operation putImageData(ImageData, long, long, long, long, long, long)
+PASS CanvasRenderingContext2D interface: attribute lineWidth
+PASS CanvasRenderingContext2D interface: attribute lineCap
+PASS CanvasRenderingContext2D interface: attribute lineJoin
+PASS CanvasRenderingContext2D interface: attribute miterLimit
+PASS CanvasRenderingContext2D interface: operation setLineDash(sequence<unrestricted double>)
+PASS CanvasRenderingContext2D interface: operation getLineDash()
+PASS CanvasRenderingContext2D interface: attribute lineDashOffset
+PASS CanvasRenderingContext2D interface: attribute font
+PASS CanvasRenderingContext2D interface: attribute textAlign
+PASS CanvasRenderingContext2D interface: attribute textBaseline
+PASS CanvasRenderingContext2D interface: attribute direction
+PASS CanvasRenderingContext2D interface: operation closePath()
+PASS CanvasRenderingContext2D interface: operation moveTo(unrestricted double, unrestricted double)
+PASS CanvasRenderingContext2D interface: operation lineTo(unrestricted double, unrestricted double)
+PASS CanvasRenderingContext2D interface: operation quadraticCurveTo(unrestricted double, unrestricted double, unrestricted double, unrestricted double)
+PASS CanvasRenderingContext2D interface: operation bezierCurveTo(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double)
+PASS CanvasRenderingContext2D interface: operation arcTo(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double)
+PASS CanvasRenderingContext2D interface: operation rect(unrestricted double, unrestricted double, unrestricted double, unrestricted double)
+PASS CanvasRenderingContext2D interface: operation arc(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, optional boolean)
+PASS CanvasRenderingContext2D interface: operation ellipse(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, optional boolean)
+PASS CanvasRenderingContext2D must be primary interface of document.createElement("canvas").getContext("2d")
+PASS Stringification of document.createElement("canvas").getContext("2d")
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "canvas" with the proper type
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "getContextAttributes()" with the proper type
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "save()" with the proper type
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "restore()" with the proper type
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "scale(unrestricted double, unrestricted double)" with the proper type
+PASS CanvasRenderingContext2D interface: calling scale(unrestricted double, unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "rotate(unrestricted double)" with the proper type
+PASS CanvasRenderingContext2D interface: calling rotate(unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "translate(unrestricted double, unrestricted double)" with the proper type
+PASS CanvasRenderingContext2D interface: calling translate(unrestricted double, unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "transform(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double)" with the proper type
+PASS CanvasRenderingContext2D interface: calling transform(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "getTransform()" with the proper type
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "setTransform(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double)" with the proper type
+PASS CanvasRenderingContext2D interface: calling setTransform(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "setTransform(optional DOMMatrix2DInit)" with the proper type
+PASS CanvasRenderingContext2D interface: calling setTransform(optional DOMMatrix2DInit) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "resetTransform()" with the proper type
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "globalAlpha" with the proper type
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "globalCompositeOperation" with the proper type
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "imageSmoothingEnabled" with the proper type
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "imageSmoothingQuality" with the proper type
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "strokeStyle" with the proper type
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "fillStyle" with the proper type
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "createLinearGradient(double, double, double, double)" with the proper type
+PASS CanvasRenderingContext2D interface: calling createLinearGradient(double, double, double, double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "createRadialGradient(double, double, double, double, double, double)" with the proper type
+PASS CanvasRenderingContext2D interface: calling createRadialGradient(double, double, double, double, double, double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "createPattern(CanvasImageSource, DOMString)" with the proper type
+PASS CanvasRenderingContext2D interface: calling createPattern(CanvasImageSource, DOMString) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "shadowOffsetX" with the proper type
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "shadowOffsetY" with the proper type
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "shadowBlur" with the proper type
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "shadowColor" with the proper type
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "filter" with the proper type
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "clearRect(unrestricted double, unrestricted double, unrestricted double, unrestricted double)" with the proper type
+PASS CanvasRenderingContext2D interface: calling clearRect(unrestricted double, unrestricted double, unrestricted double, unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "fillRect(unrestricted double, unrestricted double, unrestricted double, unrestricted double)" with the proper type
+PASS CanvasRenderingContext2D interface: calling fillRect(unrestricted double, unrestricted double, unrestricted double, unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "strokeRect(unrestricted double, unrestricted double, unrestricted double, unrestricted double)" with the proper type
+PASS CanvasRenderingContext2D interface: calling strokeRect(unrestricted double, unrestricted double, unrestricted double, unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "beginPath()" with the proper type
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "fill(optional CanvasFillRule)" with the proper type
+PASS CanvasRenderingContext2D interface: calling fill(optional CanvasFillRule) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "fill(Path2D, optional CanvasFillRule)" with the proper type
+PASS CanvasRenderingContext2D interface: calling fill(Path2D, optional CanvasFillRule) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "stroke()" with the proper type
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "stroke(Path2D)" with the proper type
+PASS CanvasRenderingContext2D interface: calling stroke(Path2D) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "clip(optional CanvasFillRule)" with the proper type
+PASS CanvasRenderingContext2D interface: calling clip(optional CanvasFillRule) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "clip(Path2D, optional CanvasFillRule)" with the proper type
+PASS CanvasRenderingContext2D interface: calling clip(Path2D, optional CanvasFillRule) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "isPointInPath(unrestricted double, unrestricted double, optional CanvasFillRule)" with the proper type
+PASS CanvasRenderingContext2D interface: calling isPointInPath(unrestricted double, unrestricted double, optional CanvasFillRule) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "isPointInPath(Path2D, unrestricted double, unrestricted double, optional CanvasFillRule)" with the proper type
+PASS CanvasRenderingContext2D interface: calling isPointInPath(Path2D, unrestricted double, unrestricted double, optional CanvasFillRule) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "isPointInStroke(unrestricted double, unrestricted double)" with the proper type
+PASS CanvasRenderingContext2D interface: calling isPointInStroke(unrestricted double, unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "isPointInStroke(Path2D, unrestricted double, unrestricted double)" with the proper type
+PASS CanvasRenderingContext2D interface: calling isPointInStroke(Path2D, unrestricted double, unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "drawFocusIfNeeded(Element)" with the proper type
+PASS CanvasRenderingContext2D interface: calling drawFocusIfNeeded(Element) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "drawFocusIfNeeded(Path2D, Element)" with the proper type
+PASS CanvasRenderingContext2D interface: calling drawFocusIfNeeded(Path2D, Element) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "scrollPathIntoView()" with the proper type
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "scrollPathIntoView(Path2D)" with the proper type
+PASS CanvasRenderingContext2D interface: calling scrollPathIntoView(Path2D) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "fillText(DOMString, unrestricted double, unrestricted double, optional unrestricted double)" with the proper type
+PASS CanvasRenderingContext2D interface: calling fillText(DOMString, unrestricted double, unrestricted double, optional unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "strokeText(DOMString, unrestricted double, unrestricted double, optional unrestricted double)" with the proper type
+PASS CanvasRenderingContext2D interface: calling strokeText(DOMString, unrestricted double, unrestricted double, optional unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "measureText(DOMString)" with the proper type
+PASS CanvasRenderingContext2D interface: calling measureText(DOMString) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "drawImage(CanvasImageSource, unrestricted double, unrestricted double)" with the proper type
+PASS CanvasRenderingContext2D interface: calling drawImage(CanvasImageSource, unrestricted double, unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "drawImage(CanvasImageSource, unrestricted double, unrestricted double, unrestricted double, unrestricted double)" with the proper type
+PASS CanvasRenderingContext2D interface: calling drawImage(CanvasImageSource, unrestricted double, unrestricted double, unrestricted double, unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "drawImage(CanvasImageSource, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double)" with the proper type
+PASS CanvasRenderingContext2D interface: calling drawImage(CanvasImageSource, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "createImageData(long, long)" with the proper type
+PASS CanvasRenderingContext2D interface: calling createImageData(long, long) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "createImageData(ImageData)" with the proper type
+PASS CanvasRenderingContext2D interface: calling createImageData(ImageData) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "getImageData(long, long, long, long)" with the proper type
+PASS CanvasRenderingContext2D interface: calling getImageData(long, long, long, long) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "putImageData(ImageData, long, long)" with the proper type
+PASS CanvasRenderingContext2D interface: calling putImageData(ImageData, long, long) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "putImageData(ImageData, long, long, long, long, long, long)" with the proper type
+PASS CanvasRenderingContext2D interface: calling putImageData(ImageData, long, long, long, long, long, long) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "lineWidth" with the proper type
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "lineCap" with the proper type
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "lineJoin" with the proper type
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "miterLimit" with the proper type
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "setLineDash(sequence<unrestricted double>)" with the proper type
+PASS CanvasRenderingContext2D interface: calling setLineDash(sequence<unrestricted double>) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "getLineDash()" with the proper type
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "lineDashOffset" with the proper type
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "font" with the proper type
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "textAlign" with the proper type
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "textBaseline" with the proper type
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "direction" with the proper type
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "closePath()" with the proper type
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "moveTo(unrestricted double, unrestricted double)" with the proper type
+PASS CanvasRenderingContext2D interface: calling moveTo(unrestricted double, unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "lineTo(unrestricted double, unrestricted double)" with the proper type
+PASS CanvasRenderingContext2D interface: calling lineTo(unrestricted double, unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "quadraticCurveTo(unrestricted double, unrestricted double, unrestricted double, unrestricted double)" with the proper type
+PASS CanvasRenderingContext2D interface: calling quadraticCurveTo(unrestricted double, unrestricted double, unrestricted double, unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "bezierCurveTo(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double)" with the proper type
+PASS CanvasRenderingContext2D interface: calling bezierCurveTo(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "arcTo(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double)" with the proper type
+PASS CanvasRenderingContext2D interface: calling arcTo(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "rect(unrestricted double, unrestricted double, unrestricted double, unrestricted double)" with the proper type
+PASS CanvasRenderingContext2D interface: calling rect(unrestricted double, unrestricted double, unrestricted double, unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "arc(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, optional boolean)" with the proper type
+PASS CanvasRenderingContext2D interface: calling arc(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, optional boolean) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "ellipse(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, optional boolean)" with the proper type
+PASS CanvasRenderingContext2D interface: calling ellipse(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, optional boolean) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasGradient interface: existence and properties of interface object
+PASS CanvasGradient interface object length
+PASS CanvasGradient interface object name
+PASS CanvasGradient interface: existence and properties of interface prototype object
+PASS CanvasGradient interface: existence and properties of interface prototype object's "constructor" property
+PASS CanvasGradient interface: existence and properties of interface prototype object's @@unscopables property
+PASS CanvasGradient interface: operation addColorStop(double, DOMString)
+PASS CanvasPattern interface: existence and properties of interface object
+PASS CanvasPattern interface object length
+PASS CanvasPattern interface object name
+PASS CanvasPattern interface: existence and properties of interface prototype object
+PASS CanvasPattern interface: existence and properties of interface prototype object's "constructor" property
+PASS CanvasPattern interface: existence and properties of interface prototype object's @@unscopables property
+PASS CanvasPattern interface: operation setTransform(optional DOMMatrix2DInit)
+PASS TextMetrics interface: existence and properties of interface object
+PASS TextMetrics interface object length
+PASS TextMetrics interface object name
+PASS TextMetrics interface: existence and properties of interface prototype object
+PASS TextMetrics interface: existence and properties of interface prototype object's "constructor" property
+PASS TextMetrics interface: existence and properties of interface prototype object's @@unscopables property
+PASS TextMetrics interface: attribute width
+PASS TextMetrics interface: attribute actualBoundingBoxLeft
+PASS TextMetrics interface: attribute actualBoundingBoxRight
+PASS TextMetrics interface: attribute fontBoundingBoxAscent
+PASS TextMetrics interface: attribute fontBoundingBoxDescent
+PASS TextMetrics interface: attribute actualBoundingBoxAscent
+PASS TextMetrics interface: attribute actualBoundingBoxDescent
+PASS TextMetrics interface: attribute emHeightAscent
+PASS TextMetrics interface: attribute emHeightDescent
+FAIL TextMetrics interface: attribute hangingBaseline assert_true: The prototype object must have a property "hangingBaseline" expected true got false
+FAIL TextMetrics interface: attribute alphabeticBaseline assert_true: The prototype object must have a property "alphabeticBaseline" expected true got false
+FAIL TextMetrics interface: attribute ideographicBaseline assert_true: The prototype object must have a property "ideographicBaseline" expected true got false
+PASS ImageData interface: existence and properties of interface object
+PASS ImageData interface object length
+PASS ImageData interface object name
+PASS ImageData interface: existence and properties of interface prototype object
+PASS ImageData interface: existence and properties of interface prototype object's "constructor" property
+PASS ImageData interface: existence and properties of interface prototype object's @@unscopables property
+PASS ImageData interface: attribute width
+PASS ImageData interface: attribute height
+PASS ImageData interface: attribute data
+PASS ImageData must be primary interface of new ImageData(10, 10)
+PASS Stringification of new ImageData(10, 10)
+PASS ImageData interface: new ImageData(10, 10) must inherit property "width" with the proper type
+PASS ImageData interface: new ImageData(10, 10) must inherit property "height" with the proper type
+FAIL ImageData interface: new ImageData(10, 10) must inherit property "data" with the proper type assert_inherits: property "data" found on object expected in prototype chain
+PASS Path2D interface: existence and properties of interface object
+PASS Path2D interface object length
+PASS Path2D interface object name
+PASS Path2D interface: existence and properties of interface prototype object
+PASS Path2D interface: existence and properties of interface prototype object's "constructor" property
+PASS Path2D interface: existence and properties of interface prototype object's @@unscopables property
+PASS Path2D interface: operation addPath(Path2D, optional DOMMatrix2DInit)
+PASS Path2D interface: operation closePath()
+PASS Path2D interface: operation moveTo(unrestricted double, unrestricted double)
+PASS Path2D interface: operation lineTo(unrestricted double, unrestricted double)
+PASS Path2D interface: operation quadraticCurveTo(unrestricted double, unrestricted double, unrestricted double, unrestricted double)
+PASS Path2D interface: operation bezierCurveTo(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double)
+PASS Path2D interface: operation arcTo(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double)
+PASS Path2D interface: operation rect(unrestricted double, unrestricted double, unrestricted double, unrestricted double)
+PASS Path2D interface: operation arc(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, optional boolean)
+PASS Path2D interface: operation ellipse(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, optional boolean)
+PASS ImageBitmapRenderingContext interface: existence and properties of interface object
+PASS ImageBitmapRenderingContext interface object length
+PASS ImageBitmapRenderingContext interface object name
+PASS ImageBitmapRenderingContext interface: existence and properties of interface prototype object
+PASS ImageBitmapRenderingContext interface: existence and properties of interface prototype object's "constructor" property
+PASS ImageBitmapRenderingContext interface: existence and properties of interface prototype object's @@unscopables property
+PASS ImageBitmapRenderingContext interface: attribute canvas
+PASS ImageBitmapRenderingContext interface: operation transferFromImageBitmap(ImageBitmap?)
+PASS OffscreenCanvas interface: existence and properties of interface object
+PASS OffscreenCanvas interface object length
+PASS OffscreenCanvas interface object name
+PASS OffscreenCanvas interface: existence and properties of interface prototype object
+PASS OffscreenCanvas interface: existence and properties of interface prototype object's "constructor" property
+PASS OffscreenCanvas interface: existence and properties of interface prototype object's @@unscopables property
+PASS OffscreenCanvas interface: attribute width
+PASS OffscreenCanvas interface: attribute height
+PASS OffscreenCanvas interface: operation getContext(OffscreenRenderingContextId, optional any)
+PASS OffscreenCanvas interface: operation transferToImageBitmap()
+PASS OffscreenCanvas interface: operation convertToBlob(optional ImageEncodeOptions)
+PASS OffscreenCanvasRenderingContext2D interface: existence and properties of interface object
+PASS OffscreenCanvasRenderingContext2D interface object length
+PASS OffscreenCanvasRenderingContext2D interface object name
+PASS OffscreenCanvasRenderingContext2D interface: existence and properties of interface prototype object
+PASS OffscreenCanvasRenderingContext2D interface: existence and properties of interface prototype object's "constructor" property
+PASS OffscreenCanvasRenderingContext2D interface: existence and properties of interface prototype object's @@unscopables property
+PASS OffscreenCanvasRenderingContext2D interface: operation commit()
+PASS OffscreenCanvasRenderingContext2D interface: attribute canvas
+PASS OffscreenCanvasRenderingContext2D interface: operation save()
+PASS OffscreenCanvasRenderingContext2D interface: operation restore()
+PASS OffscreenCanvasRenderingContext2D interface: operation scale(unrestricted double, unrestricted double)
+PASS OffscreenCanvasRenderingContext2D interface: operation rotate(unrestricted double)
+PASS OffscreenCanvasRenderingContext2D interface: operation translate(unrestricted double, unrestricted double)
+PASS OffscreenCanvasRenderingContext2D interface: operation transform(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double)
+PASS OffscreenCanvasRenderingContext2D interface: operation getTransform()
+PASS OffscreenCanvasRenderingContext2D interface: operation setTransform(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double)
+PASS OffscreenCanvasRenderingContext2D interface: operation setTransform(optional DOMMatrix2DInit)
+PASS OffscreenCanvasRenderingContext2D interface: operation resetTransform()
+PASS OffscreenCanvasRenderingContext2D interface: attribute globalAlpha
+PASS OffscreenCanvasRenderingContext2D interface: attribute globalCompositeOperation
+PASS OffscreenCanvasRenderingContext2D interface: attribute imageSmoothingEnabled
+PASS OffscreenCanvasRenderingContext2D interface: attribute imageSmoothingQuality
+PASS OffscreenCanvasRenderingContext2D interface: attribute strokeStyle
+PASS OffscreenCanvasRenderingContext2D interface: attribute fillStyle
+PASS OffscreenCanvasRenderingContext2D interface: operation createLinearGradient(double, double, double, double)
+PASS OffscreenCanvasRenderingContext2D interface: operation createRadialGradient(double, double, double, double, double, double)
+PASS OffscreenCanvasRenderingContext2D interface: operation createPattern(CanvasImageSource, DOMString)
+PASS OffscreenCanvasRenderingContext2D interface: attribute shadowOffsetX
+PASS OffscreenCanvasRenderingContext2D interface: attribute shadowOffsetY
+PASS OffscreenCanvasRenderingContext2D interface: attribute shadowBlur
+PASS OffscreenCanvasRenderingContext2D interface: attribute shadowColor
+PASS OffscreenCanvasRenderingContext2D interface: attribute filter
+PASS OffscreenCanvasRenderingContext2D interface: operation clearRect(unrestricted double, unrestricted double, unrestricted double, unrestricted double)
+PASS OffscreenCanvasRenderingContext2D interface: operation fillRect(unrestricted double, unrestricted double, unrestricted double, unrestricted double)
+PASS OffscreenCanvasRenderingContext2D interface: operation strokeRect(unrestricted double, unrestricted double, unrestricted double, unrestricted double)
+PASS OffscreenCanvasRenderingContext2D interface: operation beginPath()
+PASS OffscreenCanvasRenderingContext2D interface: operation fill(optional CanvasFillRule)
+PASS OffscreenCanvasRenderingContext2D interface: operation fill(Path2D, optional CanvasFillRule)
+PASS OffscreenCanvasRenderingContext2D interface: operation stroke()
+PASS OffscreenCanvasRenderingContext2D interface: operation stroke(Path2D)
+PASS OffscreenCanvasRenderingContext2D interface: operation clip(optional CanvasFillRule)
+PASS OffscreenCanvasRenderingContext2D interface: operation clip(Path2D, optional CanvasFillRule)
+PASS OffscreenCanvasRenderingContext2D interface: operation isPointInPath(unrestricted double, unrestricted double, optional CanvasFillRule)
+PASS OffscreenCanvasRenderingContext2D interface: operation isPointInPath(Path2D, unrestricted double, unrestricted double, optional CanvasFillRule)
+PASS OffscreenCanvasRenderingContext2D interface: operation isPointInStroke(unrestricted double, unrestricted double)
+PASS OffscreenCanvasRenderingContext2D interface: operation isPointInStroke(Path2D, unrestricted double, unrestricted double)
+PASS OffscreenCanvasRenderingContext2D interface: operation fillText(DOMString, unrestricted double, unrestricted double, optional unrestricted double)
+PASS OffscreenCanvasRenderingContext2D interface: operation strokeText(DOMString, unrestricted double, unrestricted double, optional unrestricted double)
+PASS OffscreenCanvasRenderingContext2D interface: operation measureText(DOMString)
+PASS OffscreenCanvasRenderingContext2D interface: operation drawImage(CanvasImageSource, unrestricted double, unrestricted double)
+PASS OffscreenCanvasRenderingContext2D interface: operation drawImage(CanvasImageSource, unrestricted double, unrestricted double, unrestricted double, unrestricted double)
+PASS OffscreenCanvasRenderingContext2D interface: operation drawImage(CanvasImageSource, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double)
+PASS OffscreenCanvasRenderingContext2D interface: operation createImageData(long, long)
+PASS OffscreenCanvasRenderingContext2D interface: operation createImageData(ImageData)
+PASS OffscreenCanvasRenderingContext2D interface: operation getImageData(long, long, long, long)
+PASS OffscreenCanvasRenderingContext2D interface: operation putImageData(ImageData, long, long)
+PASS OffscreenCanvasRenderingContext2D interface: operation putImageData(ImageData, long, long, long, long, long, long)
+PASS OffscreenCanvasRenderingContext2D interface: attribute lineWidth
+PASS OffscreenCanvasRenderingContext2D interface: attribute lineCap
+PASS OffscreenCanvasRenderingContext2D interface: attribute lineJoin
+PASS OffscreenCanvasRenderingContext2D interface: attribute miterLimit
+PASS OffscreenCanvasRenderingContext2D interface: operation setLineDash(sequence<unrestricted double>)
+PASS OffscreenCanvasRenderingContext2D interface: operation getLineDash()
+PASS OffscreenCanvasRenderingContext2D interface: attribute lineDashOffset
+PASS OffscreenCanvasRenderingContext2D interface: attribute font
+PASS OffscreenCanvasRenderingContext2D interface: attribute textAlign
+PASS OffscreenCanvasRenderingContext2D interface: attribute textBaseline
+PASS OffscreenCanvasRenderingContext2D interface: attribute direction
+PASS OffscreenCanvasRenderingContext2D interface: operation closePath()
+PASS OffscreenCanvasRenderingContext2D interface: operation moveTo(unrestricted double, unrestricted double)
+PASS OffscreenCanvasRenderingContext2D interface: operation lineTo(unrestricted double, unrestricted double)
+PASS OffscreenCanvasRenderingContext2D interface: operation quadraticCurveTo(unrestricted double, unrestricted double, unrestricted double, unrestricted double)
+PASS OffscreenCanvasRenderingContext2D interface: operation bezierCurveTo(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double)
+PASS OffscreenCanvasRenderingContext2D interface: operation arcTo(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double)
+PASS OffscreenCanvasRenderingContext2D interface: operation rect(unrestricted double, unrestricted double, unrestricted double, unrestricted double)
+PASS OffscreenCanvasRenderingContext2D interface: operation arc(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, optional boolean)
+PASS OffscreenCanvasRenderingContext2D interface: operation ellipse(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, optional boolean)
+PASS CustomElementRegistry interface: existence and properties of interface object
+PASS CustomElementRegistry interface object length
+PASS CustomElementRegistry interface object name
+PASS CustomElementRegistry interface: existence and properties of interface prototype object
+PASS CustomElementRegistry interface: existence and properties of interface prototype object's "constructor" property
+PASS CustomElementRegistry interface: existence and properties of interface prototype object's @@unscopables property
+PASS CustomElementRegistry interface: operation define(DOMString, CustomElementConstructor, optional ElementDefinitionOptions)
+PASS CustomElementRegistry interface: operation get(DOMString)
+PASS CustomElementRegistry interface: operation whenDefined(DOMString)
+PASS CustomElementRegistry interface: operation upgrade(Node)
+PASS ElementInternals interface: existence and properties of interface object
+PASS ElementInternals interface object length
+PASS ElementInternals interface object name
+PASS ElementInternals interface: existence and properties of interface prototype object
+PASS ElementInternals interface: existence and properties of interface prototype object's "constructor" property
+PASS ElementInternals interface: existence and properties of interface prototype object's @@unscopables property
+PASS ElementInternals interface: operation setFormValue((File or USVString or FormData)?, optional (File or USVString or FormData)?)
+PASS ElementInternals interface: attribute form
+FAIL ElementInternals interface: operation setValidity(optional ValidityStateFlags, optional DOMString, optional HTMLElement) assert_equals: property has wrong .length expected 0 but got 1
+PASS ElementInternals interface: attribute willValidate
+PASS ElementInternals interface: attribute validity
+PASS ElementInternals interface: attribute validationMessage
+PASS ElementInternals interface: operation checkValidity()
+PASS ElementInternals interface: operation reportValidity()
+PASS ElementInternals interface: attribute labels
+PASS DataTransfer interface: existence and properties of interface object
+PASS DataTransfer interface object length
+PASS DataTransfer interface object name
+PASS DataTransfer interface: existence and properties of interface prototype object
+PASS DataTransfer interface: existence and properties of interface prototype object's "constructor" property
+PASS DataTransfer interface: existence and properties of interface prototype object's @@unscopables property
+PASS DataTransfer interface: attribute dropEffect
+PASS DataTransfer interface: attribute effectAllowed
+PASS DataTransfer interface: attribute items
+PASS DataTransfer interface: operation setDragImage(Element, long, long)
+PASS DataTransfer interface: attribute types
+PASS DataTransfer interface: operation getData(DOMString)
+PASS DataTransfer interface: operation setData(DOMString, DOMString)
+PASS DataTransfer interface: operation clearData(optional DOMString)
+PASS DataTransfer interface: attribute files
+PASS DataTransferItemList interface: existence and properties of interface object
+PASS DataTransferItemList interface object length
+PASS DataTransferItemList interface object name
+PASS DataTransferItemList interface: existence and properties of interface prototype object
+PASS DataTransferItemList interface: existence and properties of interface prototype object's "constructor" property
+PASS DataTransferItemList interface: existence and properties of interface prototype object's @@unscopables property
+PASS DataTransferItemList interface: attribute length
+PASS DataTransferItemList interface: operation add(DOMString, DOMString)
+PASS DataTransferItemList interface: operation add(File)
+PASS DataTransferItemList interface: operation remove(unsigned long)
+PASS DataTransferItemList interface: operation clear()
+PASS DataTransferItem interface: existence and properties of interface object
+PASS DataTransferItem interface object length
+PASS DataTransferItem interface object name
+PASS DataTransferItem interface: existence and properties of interface prototype object
+PASS DataTransferItem interface: existence and properties of interface prototype object's "constructor" property
+PASS DataTransferItem interface: existence and properties of interface prototype object's @@unscopables property
+PASS DataTransferItem interface: attribute kind
+PASS DataTransferItem interface: attribute type
+PASS DataTransferItem interface: operation getAsString(FunctionStringCallback?)
+PASS DataTransferItem interface: operation getAsFile()
+PASS DragEvent interface: existence and properties of interface object
+PASS DragEvent interface object length
+PASS DragEvent interface object name
+PASS DragEvent interface: existence and properties of interface prototype object
+PASS DragEvent interface: existence and properties of interface prototype object's "constructor" property
+PASS DragEvent interface: existence and properties of interface prototype object's @@unscopables property
+PASS DragEvent interface: attribute dataTransfer
+PASS BarProp interface: existence and properties of interface object
+PASS BarProp interface object length
+PASS BarProp interface object name
+PASS BarProp interface: existence and properties of interface prototype object
+PASS BarProp interface: existence and properties of interface prototype object's "constructor" property
+PASS BarProp interface: existence and properties of interface prototype object's @@unscopables property
+PASS BarProp interface: attribute visible
+PASS History interface: existence and properties of interface object
+PASS History interface object length
+PASS History interface object name
+PASS History interface: existence and properties of interface prototype object
+PASS History interface: existence and properties of interface prototype object's "constructor" property
+PASS History interface: existence and properties of interface prototype object's @@unscopables property
+PASS History interface: attribute length
+PASS History interface: attribute scrollRestoration
+PASS History interface: attribute state
+PASS History interface: operation go(optional long)
+PASS History interface: operation back()
+PASS History interface: operation forward()
+PASS History interface: operation pushState(any, DOMString, optional USVString?)
+PASS History interface: operation replaceState(any, DOMString, optional USVString?)
+PASS History must be primary interface of window.history
+PASS Stringification of window.history
+PASS History interface: window.history must inherit property "length" with the proper type
+PASS History interface: window.history must inherit property "scrollRestoration" with the proper type
+PASS History interface: window.history must inherit property "state" with the proper type
+PASS History interface: window.history must inherit property "go(optional long)" with the proper type
+PASS History interface: calling go(optional long) on window.history with too few arguments must throw TypeError
+PASS History interface: window.history must inherit property "back()" with the proper type
+PASS History interface: window.history must inherit property "forward()" with the proper type
+PASS History interface: window.history must inherit property "pushState(any, DOMString, optional USVString?)" with the proper type
+PASS History interface: calling pushState(any, DOMString, optional USVString?) on window.history with too few arguments must throw TypeError
+PASS History interface: window.history must inherit property "replaceState(any, DOMString, optional USVString?)" with the proper type
+PASS History interface: calling replaceState(any, DOMString, optional USVString?) on window.history with too few arguments must throw TypeError
+PASS Location interface: existence and properties of interface object
+PASS Location interface object length
+PASS Location interface object name
+PASS Location interface: existence and properties of interface prototype object
+PASS Location interface: existence and properties of interface prototype object's "constructor" property
+PASS Location interface: existence and properties of interface prototype object's @@unscopables property
+FAIL Location interface: stringifier assert_own_property: interface prototype object missing non-static operation expected property "toString" missing
+PASS Location must be primary interface of window.location
+PASS Stringification of window.location
+FAIL Location interface: window.location must have own property "href" assert_false: property descriptor should not have a "value" field expected false got true
+PASS Location interface: window.location must have own property "origin"
+PASS Location interface: window.location must have own property "protocol"
+PASS Location interface: window.location must have own property "host"
+PASS Location interface: window.location must have own property "hostname"
+PASS Location interface: window.location must have own property "port"
+PASS Location interface: window.location must have own property "pathname"
+PASS Location interface: window.location must have own property "search"
+PASS Location interface: window.location must have own property "hash"
+PASS Location interface: window.location must have own property "assign"
+PASS Location interface: calling assign(USVString) on window.location with too few arguments must throw TypeError
+PASS Location interface: window.location must have own property "replace"
+PASS Location interface: calling replace(USVString) on window.location with too few arguments must throw TypeError
+PASS Location interface: window.location must have own property "reload"
+PASS Location interface: window.location must have own property "ancestorOrigins"
+PASS PopStateEvent interface: existence and properties of interface object
+PASS PopStateEvent interface object length
+PASS PopStateEvent interface object name
+PASS PopStateEvent interface: existence and properties of interface prototype object
+PASS PopStateEvent interface: existence and properties of interface prototype object's "constructor" property
+PASS PopStateEvent interface: existence and properties of interface prototype object's @@unscopables property
+PASS PopStateEvent interface: attribute state
+PASS PopStateEvent must be primary interface of new PopStateEvent("popstate", { data: {} })
+PASS Stringification of new PopStateEvent("popstate", { data: {} })
+PASS PopStateEvent interface: new PopStateEvent("popstate", { data: {} }) must inherit property "state" with the proper type
+PASS HashChangeEvent interface: existence and properties of interface object
+PASS HashChangeEvent interface object length
+PASS HashChangeEvent interface object name
+PASS HashChangeEvent interface: existence and properties of interface prototype object
+PASS HashChangeEvent interface: existence and properties of interface prototype object's "constructor" property
+PASS HashChangeEvent interface: existence and properties of interface prototype object's @@unscopables property
+PASS HashChangeEvent interface: attribute oldURL
+PASS HashChangeEvent interface: attribute newURL
+PASS PageTransitionEvent interface: existence and properties of interface object
+PASS PageTransitionEvent interface object length
+PASS PageTransitionEvent interface object name
+PASS PageTransitionEvent interface: existence and properties of interface prototype object
+PASS PageTransitionEvent interface: existence and properties of interface prototype object's "constructor" property
+PASS PageTransitionEvent interface: existence and properties of interface prototype object's @@unscopables property
+PASS PageTransitionEvent interface: attribute persisted
+PASS BeforeUnloadEvent interface: existence and properties of interface object
+PASS BeforeUnloadEvent interface object length
+PASS BeforeUnloadEvent interface object name
+PASS BeforeUnloadEvent interface: existence and properties of interface prototype object
+PASS BeforeUnloadEvent interface: existence and properties of interface prototype object's "constructor" property
+PASS BeforeUnloadEvent interface: existence and properties of interface prototype object's @@unscopables property
+PASS BeforeUnloadEvent interface: attribute returnValue
+FAIL ApplicationCache interface: existence and properties of interface object assert_own_property: self does not have own property "ApplicationCache" expected property "ApplicationCache" missing
+FAIL ApplicationCache interface object length assert_own_property: self does not have own property "ApplicationCache" expected property "ApplicationCache" missing
+FAIL ApplicationCache interface object name assert_own_property: self does not have own property "ApplicationCache" expected property "ApplicationCache" missing
+FAIL ApplicationCache interface: existence and properties of interface prototype object assert_own_property: self does not have own property "ApplicationCache" expected property "ApplicationCache" missing
+FAIL ApplicationCache interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "ApplicationCache" expected property "ApplicationCache" missing
+FAIL ApplicationCache interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "ApplicationCache" expected property "ApplicationCache" missing
+FAIL ApplicationCache interface: constant UNCACHED on interface object assert_own_property: self does not have own property "ApplicationCache" expected property "ApplicationCache" missing
+FAIL ApplicationCache interface: constant UNCACHED on interface prototype object assert_own_property: self does not have own property "ApplicationCache" expected property "ApplicationCache" missing
+FAIL ApplicationCache interface: constant IDLE on interface object assert_own_property: self does not have own property "ApplicationCache" expected property "ApplicationCache" missing
+FAIL ApplicationCache interface: constant IDLE on interface prototype object assert_own_property: self does not have own property "ApplicationCache" expected property "ApplicationCache" missing
+FAIL ApplicationCache interface: constant CHECKING on interface object assert_own_property: self does not have own property "ApplicationCache" expected property "ApplicationCache" missing
+FAIL ApplicationCache interface: constant CHECKING on interface prototype object assert_own_property: self does not have own property "ApplicationCache" expected property "ApplicationCache" missing
+FAIL ApplicationCache interface: constant DOWNLOADING on interface object assert_own_property: self does not have own property "ApplicationCache" expected property "ApplicationCache" missing
+FAIL ApplicationCache interface: constant DOWNLOADING on interface prototype object assert_own_property: self does not have own property "ApplicationCache" expected property "ApplicationCache" missing
+FAIL ApplicationCache interface: constant UPDATEREADY on interface object assert_own_property: self does not have own property "ApplicationCache" expected property "ApplicationCache" missing
+FAIL ApplicationCache interface: constant UPDATEREADY on interface prototype object assert_own_property: self does not have own property "ApplicationCache" expected property "ApplicationCache" missing
+FAIL ApplicationCache interface: constant OBSOLETE on interface object assert_own_property: self does not have own property "ApplicationCache" expected property "ApplicationCache" missing
+FAIL ApplicationCache interface: constant OBSOLETE on interface prototype object assert_own_property: self does not have own property "ApplicationCache" expected property "ApplicationCache" missing
+FAIL ApplicationCache interface: attribute status assert_own_property: self does not have own property "ApplicationCache" expected property "ApplicationCache" missing
+FAIL ApplicationCache interface: operation update() assert_own_property: self does not have own property "ApplicationCache" expected property "ApplicationCache" missing
+FAIL ApplicationCache interface: operation abort() assert_own_property: self does not have own property "ApplicationCache" expected property "ApplicationCache" missing
+FAIL ApplicationCache interface: operation swapCache() assert_own_property: self does not have own property "ApplicationCache" expected property "ApplicationCache" missing
+FAIL ApplicationCache interface: attribute onchecking assert_own_property: self does not have own property "ApplicationCache" expected property "ApplicationCache" missing
+FAIL ApplicationCache interface: attribute onerror assert_own_property: self does not have own property "ApplicationCache" expected property "ApplicationCache" missing
+FAIL ApplicationCache interface: attribute onnoupdate assert_own_property: self does not have own property "ApplicationCache" expected property "ApplicationCache" missing
+FAIL ApplicationCache interface: attribute ondownloading assert_own_property: self does not have own property "ApplicationCache" expected property "ApplicationCache" missing
+FAIL ApplicationCache interface: attribute onprogress assert_own_property: self does not have own property "ApplicationCache" expected property "ApplicationCache" missing
+FAIL ApplicationCache interface: attribute onupdateready assert_own_property: self does not have own property "ApplicationCache" expected property "ApplicationCache" missing
+FAIL ApplicationCache interface: attribute oncached assert_own_property: self does not have own property "ApplicationCache" expected property "ApplicationCache" missing
+FAIL ApplicationCache interface: attribute onobsolete assert_own_property: self does not have own property "ApplicationCache" expected property "ApplicationCache" missing
+FAIL ApplicationCache must be primary interface of window.applicationCache assert_equals: wrong typeof object expected "object" but got "undefined"
+FAIL Stringification of window.applicationCache assert_equals: wrong typeof object expected "object" but got "undefined"
+FAIL ApplicationCache interface: window.applicationCache must inherit property "UNCACHED" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
+FAIL ApplicationCache interface: window.applicationCache must inherit property "IDLE" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
+FAIL ApplicationCache interface: window.applicationCache must inherit property "CHECKING" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
+FAIL ApplicationCache interface: window.applicationCache must inherit property "DOWNLOADING" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
+FAIL ApplicationCache interface: window.applicationCache must inherit property "UPDATEREADY" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
+FAIL ApplicationCache interface: window.applicationCache must inherit property "OBSOLETE" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
+FAIL ApplicationCache interface: window.applicationCache must inherit property "status" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
+FAIL ApplicationCache interface: window.applicationCache must inherit property "update()" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
+FAIL ApplicationCache interface: window.applicationCache must inherit property "abort()" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
+FAIL ApplicationCache interface: window.applicationCache must inherit property "swapCache()" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
+FAIL ApplicationCache interface: window.applicationCache must inherit property "onchecking" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
+FAIL ApplicationCache interface: window.applicationCache must inherit property "onerror" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
+FAIL ApplicationCache interface: window.applicationCache must inherit property "onnoupdate" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
+FAIL ApplicationCache interface: window.applicationCache must inherit property "ondownloading" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
+FAIL ApplicationCache interface: window.applicationCache must inherit property "onprogress" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
+FAIL ApplicationCache interface: window.applicationCache must inherit property "onupdateready" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
+FAIL ApplicationCache interface: window.applicationCache must inherit property "oncached" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
+FAIL ApplicationCache interface: window.applicationCache must inherit property "onobsolete" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
+PASS ErrorEvent interface: existence and properties of interface object
+PASS ErrorEvent interface object length
+PASS ErrorEvent interface object name
+PASS ErrorEvent interface: existence and properties of interface prototype object
+PASS ErrorEvent interface: existence and properties of interface prototype object's "constructor" property
+PASS ErrorEvent interface: existence and properties of interface prototype object's @@unscopables property
+PASS ErrorEvent interface: attribute message
+PASS ErrorEvent interface: attribute filename
+PASS ErrorEvent interface: attribute lineno
+PASS ErrorEvent interface: attribute colno
+PASS ErrorEvent interface: attribute error
+PASS PromiseRejectionEvent interface: existence and properties of interface object
+PASS PromiseRejectionEvent interface object length
+PASS PromiseRejectionEvent interface object name
+PASS PromiseRejectionEvent interface: existence and properties of interface prototype object
+PASS PromiseRejectionEvent interface: existence and properties of interface prototype object's "constructor" property
+PASS PromiseRejectionEvent interface: existence and properties of interface prototype object's @@unscopables property
+PASS PromiseRejectionEvent interface: attribute promise
+PASS PromiseRejectionEvent interface: attribute reason
+PASS DOMParser interface: existence and properties of interface object
+PASS DOMParser interface object length
+PASS DOMParser interface object name
+PASS DOMParser interface: existence and properties of interface prototype object
+PASS DOMParser interface: existence and properties of interface prototype object's "constructor" property
+PASS DOMParser interface: existence and properties of interface prototype object's @@unscopables property
+PASS DOMParser interface: operation parseFromString(DOMString, DOMParserSupportedType)
+PASS DOMParser must be primary interface of new DOMParser()
+PASS Stringification of new DOMParser()
+PASS DOMParser interface: new DOMParser() must inherit property "parseFromString(DOMString, DOMParserSupportedType)" with the proper type
+PASS DOMParser interface: calling parseFromString(DOMString, DOMParserSupportedType) on new DOMParser() with too few arguments must throw TypeError
+PASS Navigator interface: existence and properties of interface object
+PASS Navigator interface object length
+PASS Navigator interface object name
+PASS Navigator interface: existence and properties of interface prototype object
+PASS Navigator interface: existence and properties of interface prototype object's "constructor" property
+PASS Navigator interface: existence and properties of interface prototype object's @@unscopables property
+PASS Navigator interface: attribute appCodeName
+PASS Navigator interface: attribute appName
+PASS Navigator interface: attribute appVersion
+PASS Navigator interface: attribute platform
+PASS Navigator interface: attribute product
+PASS Navigator interface: attribute productSub
+PASS Navigator interface: attribute userAgent
+PASS Navigator interface: attribute vendor
+PASS Navigator interface: attribute vendorSub
+FAIL Navigator interface: operation taintEnabled() assert_own_property: interface prototype object missing non-static operation expected property "taintEnabled" missing
+FAIL Navigator interface: attribute oscpu assert_true: The prototype object must have a property "oscpu" expected true got false
+PASS Navigator interface: attribute language
+PASS Navigator interface: attribute languages
+PASS Navigator interface: attribute onLine
+FAIL Navigator interface: operation registerProtocolHandler(DOMString, USVString) assert_equals: property has wrong .length expected 2 but got 3
+PASS Navigator interface: operation unregisterProtocolHandler(DOMString, USVString)
+PASS Navigator interface: attribute cookieEnabled
+PASS Navigator interface: attribute plugins
+PASS Navigator interface: attribute mimeTypes
+PASS Navigator interface: operation javaEnabled()
+PASS Navigator interface: attribute hardwareConcurrency
+PASS Navigator must be primary interface of window.navigator
+PASS Stringification of window.navigator
+PASS Navigator interface: window.navigator must inherit property "appCodeName" with the proper type
+PASS Navigator interface: window.navigator must inherit property "appName" with the proper type
+PASS Navigator interface: window.navigator must inherit property "appVersion" with the proper type
+PASS Navigator interface: window.navigator must inherit property "platform" with the proper type
+PASS Navigator interface: window.navigator must inherit property "product" with the proper type
+PASS Navigator interface: window.navigator must inherit property "productSub" with the proper type
+PASS Navigator interface: window.navigator must inherit property "userAgent" with the proper type
+PASS Navigator interface: window.navigator must inherit property "vendor" with the proper type
+PASS Navigator interface: window.navigator must inherit property "vendorSub" with the proper type
+FAIL Navigator interface: window.navigator must inherit property "taintEnabled()" with the proper type assert_inherits: property "taintEnabled" not found in prototype chain
+FAIL Navigator interface: window.navigator must inherit property "oscpu" with the proper type assert_inherits: property "oscpu" not found in prototype chain
+PASS Navigator interface: window.navigator must inherit property "language" with the proper type
+PASS Navigator interface: window.navigator must inherit property "languages" with the proper type
+PASS Navigator interface: window.navigator must inherit property "onLine" with the proper type
+PASS Navigator interface: window.navigator must inherit property "registerProtocolHandler(DOMString, USVString)" with the proper type
+PASS Navigator interface: calling registerProtocolHandler(DOMString, USVString) on window.navigator with too few arguments must throw TypeError
+PASS Navigator interface: window.navigator must inherit property "unregisterProtocolHandler(DOMString, USVString)" with the proper type
+PASS Navigator interface: calling unregisterProtocolHandler(DOMString, USVString) on window.navigator with too few arguments must throw TypeError
+PASS Navigator interface: window.navigator must inherit property "cookieEnabled" with the proper type
+PASS Navigator interface: window.navigator must inherit property "plugins" with the proper type
+PASS Navigator interface: window.navigator must inherit property "mimeTypes" with the proper type
+PASS Navigator interface: window.navigator must inherit property "javaEnabled()" with the proper type
+PASS Navigator interface: window.navigator must inherit property "hardwareConcurrency" with the proper type
+PASS PluginArray interface: existence and properties of interface object
+PASS PluginArray interface object length
+PASS PluginArray interface object name
+PASS PluginArray interface: existence and properties of interface prototype object
+PASS PluginArray interface: existence and properties of interface prototype object's "constructor" property
+PASS PluginArray interface: existence and properties of interface prototype object's @@unscopables property
+PASS PluginArray interface: operation refresh(optional boolean)
+PASS PluginArray interface: attribute length
+PASS PluginArray interface: operation item(unsigned long)
+PASS PluginArray interface: operation namedItem(DOMString)
+PASS MimeTypeArray interface: existence and properties of interface object
+PASS MimeTypeArray interface object length
+PASS MimeTypeArray interface object name
+PASS MimeTypeArray interface: existence and properties of interface prototype object
+PASS MimeTypeArray interface: existence and properties of interface prototype object's "constructor" property
+PASS MimeTypeArray interface: existence and properties of interface prototype object's @@unscopables property
+PASS MimeTypeArray interface: attribute length
+PASS MimeTypeArray interface: operation item(unsigned long)
+PASS MimeTypeArray interface: operation namedItem(DOMString)
+PASS Plugin interface: existence and properties of interface object
+PASS Plugin interface object length
+PASS Plugin interface object name
+PASS Plugin interface: existence and properties of interface prototype object
+PASS Plugin interface: existence and properties of interface prototype object's "constructor" property
+PASS Plugin interface: existence and properties of interface prototype object's @@unscopables property
+PASS Plugin interface: attribute name
+PASS Plugin interface: attribute description
+PASS Plugin interface: attribute filename
+PASS Plugin interface: attribute length
+PASS Plugin interface: operation item(unsigned long)
+PASS Plugin interface: operation namedItem(DOMString)
+PASS MimeType interface: existence and properties of interface object
+PASS MimeType interface object length
+PASS MimeType interface object name
+PASS MimeType interface: existence and properties of interface prototype object
+PASS MimeType interface: existence and properties of interface prototype object's "constructor" property
+PASS MimeType interface: existence and properties of interface prototype object's @@unscopables property
+PASS MimeType interface: attribute type
+PASS MimeType interface: attribute description
+PASS MimeType interface: attribute suffixes
+PASS MimeType interface: attribute enabledPlugin
+PASS ImageBitmap interface: existence and properties of interface object
+PASS ImageBitmap interface object length
+PASS ImageBitmap interface object name
+PASS ImageBitmap interface: existence and properties of interface prototype object
+PASS ImageBitmap interface: existence and properties of interface prototype object's "constructor" property
+PASS ImageBitmap interface: existence and properties of interface prototype object's @@unscopables property
+PASS ImageBitmap interface: attribute width
+PASS ImageBitmap interface: attribute height
+PASS ImageBitmap interface: operation close()
+PASS MessageEvent interface: existence and properties of interface object
+PASS MessageEvent interface object length
+PASS MessageEvent interface object name
+PASS MessageEvent interface: existence and properties of interface prototype object
+PASS MessageEvent interface: existence and properties of interface prototype object's "constructor" property
+PASS MessageEvent interface: existence and properties of interface prototype object's @@unscopables property
+PASS MessageEvent interface: attribute data
+PASS MessageEvent interface: attribute origin
+PASS MessageEvent interface: attribute lastEventId
+PASS MessageEvent interface: attribute source
+PASS MessageEvent interface: attribute ports
+PASS MessageEvent interface: operation initMessageEvent(DOMString, optional boolean, optional boolean, optional any, optional USVString, optional DOMString, optional MessageEventSource?, optional sequence<MessagePort>)
+PASS MessageEvent must be primary interface of new MessageEvent("message", { data: 5 })
+PASS Stringification of new MessageEvent("message", { data: 5 })
+PASS MessageEvent interface: new MessageEvent("message", { data: 5 }) must inherit property "data" with the proper type
+PASS MessageEvent interface: new MessageEvent("message", { data: 5 }) must inherit property "origin" with the proper type
+PASS MessageEvent interface: new MessageEvent("message", { data: 5 }) must inherit property "lastEventId" with the proper type
+PASS MessageEvent interface: new MessageEvent("message", { data: 5 }) must inherit property "source" with the proper type
+PASS MessageEvent interface: new MessageEvent("message", { data: 5 }) must inherit property "ports" with the proper type
+PASS MessageEvent interface: new MessageEvent("message", { data: 5 }) must inherit property "initMessageEvent(DOMString, optional boolean, optional boolean, optional any, optional USVString, optional DOMString, optional MessageEventSource?, optional sequence<MessagePort>)" with the proper type
+PASS MessageEvent interface: calling initMessageEvent(DOMString, optional boolean, optional boolean, optional any, optional USVString, optional DOMString, optional MessageEventSource?, optional sequence<MessagePort>) on new MessageEvent("message", { data: 5 }) with too few arguments must throw TypeError
+PASS EventSource interface: existence and properties of interface object
+PASS EventSource interface object length
+PASS EventSource interface object name
+PASS EventSource interface: existence and properties of interface prototype object
+PASS EventSource interface: existence and properties of interface prototype object's "constructor" property
+PASS EventSource interface: existence and properties of interface prototype object's @@unscopables property
+PASS EventSource interface: attribute url
+PASS EventSource interface: attribute withCredentials
+PASS EventSource interface: constant CONNECTING on interface object
+PASS EventSource interface: constant CONNECTING on interface prototype object
+PASS EventSource interface: constant OPEN on interface object
+PASS EventSource interface: constant OPEN on interface prototype object
+PASS EventSource interface: constant CLOSED on interface object
+PASS EventSource interface: constant CLOSED on interface prototype object
+PASS EventSource interface: attribute readyState
+PASS EventSource interface: attribute onopen
+PASS EventSource interface: attribute onmessage
+PASS EventSource interface: attribute onerror
+PASS EventSource interface: operation close()
+PASS WebSocket interface: existence and properties of interface object
+PASS WebSocket interface object length
+PASS WebSocket interface object name
+PASS WebSocket interface: existence and properties of interface prototype object
+PASS WebSocket interface: existence and properties of interface prototype object's "constructor" property
+PASS WebSocket interface: existence and properties of interface prototype object's @@unscopables property
+PASS WebSocket interface: attribute url
+PASS WebSocket interface: constant CONNECTING on interface object
+PASS WebSocket interface: constant CONNECTING on interface prototype object
+PASS WebSocket interface: constant OPEN on interface object
+PASS WebSocket interface: constant OPEN on interface prototype object
+PASS WebSocket interface: constant CLOSING on interface object
+PASS WebSocket interface: constant CLOSING on interface prototype object
+PASS WebSocket interface: constant CLOSED on interface object
+PASS WebSocket interface: constant CLOSED on interface prototype object
+PASS WebSocket interface: attribute readyState
+PASS WebSocket interface: attribute bufferedAmount
+PASS WebSocket interface: attribute onopen
+PASS WebSocket interface: attribute onerror
+PASS WebSocket interface: attribute onclose
+PASS WebSocket interface: attribute extensions
+PASS WebSocket interface: attribute protocol
+PASS WebSocket interface: operation close(optional unsigned short, optional USVString)
+PASS WebSocket interface: attribute onmessage
+PASS WebSocket interface: attribute binaryType
+PASS WebSocket interface: operation send(USVString)
+PASS WebSocket interface: operation send(Blob)
+PASS WebSocket interface: operation send(ArrayBuffer)
+PASS WebSocket interface: operation send(ArrayBufferView)
+PASS WebSocket must be primary interface of new WebSocket("wss://nonexistent.web-platform.test")
+PASS Stringification of new WebSocket("wss://nonexistent.web-platform.test")
+PASS WebSocket interface: new WebSocket("wss://nonexistent.web-platform.test") must inherit property "url" with the proper type
+PASS WebSocket interface: new WebSocket("wss://nonexistent.web-platform.test") must inherit property "CONNECTING" with the proper type
+PASS WebSocket interface: new WebSocket("wss://nonexistent.web-platform.test") must inherit property "OPEN" with the proper type
+PASS WebSocket interface: new WebSocket("wss://nonexistent.web-platform.test") must inherit property "CLOSING" with the proper type
+PASS WebSocket interface: new WebSocket("wss://nonexistent.web-platform.test") must inherit property "CLOSED" with the proper type
+PASS WebSocket interface: new WebSocket("wss://nonexistent.web-platform.test") must inherit property "readyState" with the proper type
+PASS WebSocket interface: new WebSocket("wss://nonexistent.web-platform.test") must inherit property "bufferedAmount" with the proper type
+PASS WebSocket interface: new WebSocket("wss://nonexistent.web-platform.test") must inherit property "onopen" with the proper type
+PASS WebSocket interface: new WebSocket("wss://nonexistent.web-platform.test") must inherit property "onerror" with the proper type
+PASS WebSocket interface: new WebSocket("wss://nonexistent.web-platform.test") must inherit property "onclose" with the proper type
+PASS WebSocket interface: new WebSocket("wss://nonexistent.web-platform.test") must inherit property "extensions" with the proper type
+PASS WebSocket interface: new WebSocket("wss://nonexistent.web-platform.test") must inherit property "protocol" with the proper type
+PASS WebSocket interface: new WebSocket("wss://nonexistent.web-platform.test") must inherit property "close(optional unsigned short, optional USVString)" with the proper type
+PASS WebSocket interface: calling close(optional unsigned short, optional USVString) on new WebSocket("wss://nonexistent.web-platform.test") with too few arguments must throw TypeError
+PASS WebSocket interface: new WebSocket("wss://nonexistent.web-platform.test") must inherit property "onmessage" with the proper type
+PASS WebSocket interface: new WebSocket("wss://nonexistent.web-platform.test") must inherit property "binaryType" with the proper type
+PASS WebSocket interface: new WebSocket("wss://nonexistent.web-platform.test") must inherit property "send(USVString)" with the proper type
+PASS WebSocket interface: calling send(USVString) on new WebSocket("wss://nonexistent.web-platform.test") with too few arguments must throw TypeError
+PASS WebSocket interface: new WebSocket("wss://nonexistent.web-platform.test") must inherit property "send(Blob)" with the proper type
+PASS WebSocket interface: calling send(Blob) on new WebSocket("wss://nonexistent.web-platform.test") with too few arguments must throw TypeError
+PASS WebSocket interface: new WebSocket("wss://nonexistent.web-platform.test") must inherit property "send(ArrayBuffer)" with the proper type
+PASS WebSocket interface: calling send(ArrayBuffer) on new WebSocket("wss://nonexistent.web-platform.test") with too few arguments must throw TypeError
+PASS WebSocket interface: new WebSocket("wss://nonexistent.web-platform.test") must inherit property "send(ArrayBufferView)" with the proper type
+PASS WebSocket interface: calling send(ArrayBufferView) on new WebSocket("wss://nonexistent.web-platform.test") with too few arguments must throw TypeError
+PASS CloseEvent interface: existence and properties of interface object
+PASS CloseEvent interface object length
+PASS CloseEvent interface object name
+PASS CloseEvent interface: existence and properties of interface prototype object
+PASS CloseEvent interface: existence and properties of interface prototype object's "constructor" property
+PASS CloseEvent interface: existence and properties of interface prototype object's @@unscopables property
+PASS CloseEvent interface: attribute wasClean
+PASS CloseEvent interface: attribute code
+PASS CloseEvent interface: attribute reason
+PASS CloseEvent must be primary interface of new CloseEvent("close")
+PASS Stringification of new CloseEvent("close")
+PASS CloseEvent interface: new CloseEvent("close") must inherit property "wasClean" with the proper type
+PASS CloseEvent interface: new CloseEvent("close") must inherit property "code" with the proper type
+PASS CloseEvent interface: new CloseEvent("close") must inherit property "reason" with the proper type
+PASS MessageChannel interface: existence and properties of interface object
+PASS MessageChannel interface object length
+PASS MessageChannel interface object name
+PASS MessageChannel interface: existence and properties of interface prototype object
+PASS MessageChannel interface: existence and properties of interface prototype object's "constructor" property
+PASS MessageChannel interface: existence and properties of interface prototype object's @@unscopables property
+PASS MessageChannel interface: attribute port1
+PASS MessageChannel interface: attribute port2
+PASS MessagePort interface: existence and properties of interface object
+PASS MessagePort interface object length
+PASS MessagePort interface object name
+PASS MessagePort interface: existence and properties of interface prototype object
+PASS MessagePort interface: existence and properties of interface prototype object's "constructor" property
+PASS MessagePort interface: existence and properties of interface prototype object's @@unscopables property
+PASS MessagePort interface: operation postMessage(any, sequence<object>)
+PASS MessagePort interface: operation postMessage(any, optional PostMessageOptions)
+PASS MessagePort interface: operation start()
+PASS MessagePort interface: operation close()
+PASS MessagePort interface: attribute onmessage
+PASS MessagePort interface: attribute onmessageerror
+PASS BroadcastChannel interface: existence and properties of interface object
+PASS BroadcastChannel interface object length
+PASS BroadcastChannel interface object name
+PASS BroadcastChannel interface: existence and properties of interface prototype object
+PASS BroadcastChannel interface: existence and properties of interface prototype object's "constructor" property
+PASS BroadcastChannel interface: existence and properties of interface prototype object's @@unscopables property
+PASS BroadcastChannel interface: attribute name
+PASS BroadcastChannel interface: operation postMessage(any)
+PASS BroadcastChannel interface: operation close()
+PASS BroadcastChannel interface: attribute onmessage
+PASS BroadcastChannel interface: attribute onmessageerror
+PASS WorkerGlobalScope interface: existence and properties of interface object
+PASS DedicatedWorkerGlobalScope interface: existence and properties of interface object
+PASS SharedWorkerGlobalScope interface: existence and properties of interface object
+PASS Worker interface: existence and properties of interface object
+PASS Worker interface object length
+PASS Worker interface object name
+PASS Worker interface: existence and properties of interface prototype object
+PASS Worker interface: existence and properties of interface prototype object's "constructor" property
+PASS Worker interface: existence and properties of interface prototype object's @@unscopables property
+PASS Worker interface: operation terminate()
+PASS Worker interface: operation postMessage(any, sequence<object>)
+PASS Worker interface: operation postMessage(any, optional PostMessageOptions)
+PASS Worker interface: attribute onmessage
+FAIL Worker interface: attribute onmessageerror assert_true: The prototype object must have a property "onmessageerror" expected true got false
+PASS Worker interface: attribute onerror
+PASS SharedWorker interface: existence and properties of interface object
+PASS SharedWorker interface object length
+PASS SharedWorker interface object name
+PASS SharedWorker interface: existence and properties of interface prototype object
+PASS SharedWorker interface: existence and properties of interface prototype object's "constructor" property
+PASS SharedWorker interface: existence and properties of interface prototype object's @@unscopables property
+PASS SharedWorker interface: attribute port
+PASS SharedWorker interface: attribute onerror
+PASS WorkerNavigator interface: existence and properties of interface object
+PASS WorkerLocation interface: existence and properties of interface object
+PASS Storage interface: existence and properties of interface object
+PASS Storage interface object length
+PASS Storage interface object name
+PASS Storage interface: existence and properties of interface prototype object
+PASS Storage interface: existence and properties of interface prototype object's "constructor" property
+PASS Storage interface: existence and properties of interface prototype object's @@unscopables property
+PASS Storage interface: attribute length
+PASS Storage interface: operation key(unsigned long)
+PASS Storage interface: operation getItem(DOMString)
+PASS Storage interface: operation setItem(DOMString, DOMString)
+PASS Storage interface: operation removeItem(DOMString)
+PASS Storage interface: operation clear()
+PASS StorageEvent interface: existence and properties of interface object
+PASS StorageEvent interface object length
+PASS StorageEvent interface object name
+PASS StorageEvent interface: existence and properties of interface prototype object
+PASS StorageEvent interface: existence and properties of interface prototype object's "constructor" property
+PASS StorageEvent interface: existence and properties of interface prototype object's @@unscopables property
+PASS StorageEvent interface: attribute key
+PASS StorageEvent interface: attribute oldValue
+PASS StorageEvent interface: attribute newValue
+PASS StorageEvent interface: attribute url
+PASS StorageEvent interface: attribute storageArea
+PASS StorageEvent interface: operation initStorageEvent(DOMString, optional boolean, optional boolean, optional DOMString?, optional DOMString?, optional DOMString?, optional USVString, optional Storage?)
+PASS External interface: existence and properties of interface object
+PASS External interface object length
+PASS External interface object name
+PASS External interface: existence and properties of interface prototype object
+PASS External interface: existence and properties of interface prototype object's "constructor" property
+PASS External interface: existence and properties of interface prototype object's @@unscopables property
+PASS External interface: operation AddSearchProvider()
+PASS External interface: operation IsSearchProviderInstalled()
+PASS External must be primary interface of window.external
+PASS Stringification of window.external
+PASS External interface: window.external must inherit property "AddSearchProvider()" with the proper type
+PASS External interface: window.external must inherit property "IsSearchProviderInstalled()" with the proper type
+PASS SVGElement interface: attribute onabort
+PASS SVGElement interface: attribute onauxclick
+PASS SVGElement interface: attribute onblur
+PASS SVGElement interface: attribute oncancel
+PASS SVGElement interface: attribute oncanplay
+PASS SVGElement interface: attribute oncanplaythrough
+PASS SVGElement interface: attribute onchange
+PASS SVGElement interface: attribute onclick
+PASS SVGElement interface: attribute onclose
+PASS SVGElement interface: attribute oncontextmenu
+PASS SVGElement interface: attribute oncuechange
+PASS SVGElement interface: attribute ondblclick
+PASS SVGElement interface: attribute ondrag
+PASS SVGElement interface: attribute ondragend
+PASS SVGElement interface: attribute ondragenter
+FAIL SVGElement interface: attribute ondragexit assert_true: The prototype object must have a property "ondragexit" expected true got false
+PASS SVGElement interface: attribute ondragleave
+PASS SVGElement interface: attribute ondragover
+PASS SVGElement interface: attribute ondragstart
+PASS SVGElement interface: attribute ondrop
+PASS SVGElement interface: attribute ondurationchange
+PASS SVGElement interface: attribute onemptied
+PASS SVGElement interface: attribute onended
+PASS SVGElement interface: attribute onerror
+PASS SVGElement interface: attribute onfocus
+PASS SVGElement interface: attribute onformdata
+PASS SVGElement interface: attribute oninput
+PASS SVGElement interface: attribute oninvalid
+PASS SVGElement interface: attribute onkeydown
+PASS SVGElement interface: attribute onkeypress
+PASS SVGElement interface: attribute onkeyup
+PASS SVGElement interface: attribute onload
+PASS SVGElement interface: attribute onloadeddata
+PASS SVGElement interface: attribute onloadedmetadata
+PASS SVGElement interface: attribute onloadstart
+PASS SVGElement interface: attribute onmousedown
+PASS SVGElement interface: attribute onmouseenter
+PASS SVGElement interface: attribute onmouseleave
+PASS SVGElement interface: attribute onmousemove
+PASS SVGElement interface: attribute onmouseout
+PASS SVGElement interface: attribute onmouseover
+PASS SVGElement interface: attribute onmouseup
+PASS SVGElement interface: attribute onpause
+PASS SVGElement interface: attribute onplay
+PASS SVGElement interface: attribute onplaying
+PASS SVGElement interface: attribute onprogress
+PASS SVGElement interface: attribute onratechange
+PASS SVGElement interface: attribute onreset
+PASS SVGElement interface: attribute onresize
+PASS SVGElement interface: attribute onscroll
+FAIL SVGElement interface: attribute onsecuritypolicyviolation assert_true: The prototype object must have a property "onsecuritypolicyviolation" expected true got false
+PASS SVGElement interface: attribute onseeked
+PASS SVGElement interface: attribute onseeking
+PASS SVGElement interface: attribute onselect
+FAIL SVGElement interface: attribute onslotchange assert_true: The prototype object must have a property "onslotchange" expected true got false
+PASS SVGElement interface: attribute onstalled
+PASS SVGElement interface: attribute onsubmit
+PASS SVGElement interface: attribute onsuspend
+PASS SVGElement interface: attribute ontimeupdate
+PASS SVGElement interface: attribute ontoggle
+PASS SVGElement interface: attribute onvolumechange
+PASS SVGElement interface: attribute onwaiting
+PASS SVGElement interface: attribute onwebkitanimationend
+PASS SVGElement interface: attribute onwebkitanimationiteration
+PASS SVGElement interface: attribute onwebkitanimationstart
+PASS SVGElement interface: attribute onwebkittransitionend
+PASS SVGElement interface: attribute onwheel
+PASS SVGElement interface: attribute oncopy
+PASS SVGElement interface: attribute oncut
+PASS SVGElement interface: attribute onpaste
+PASS SVGElement interface: attribute dataset
+PASS SVGElement interface: attribute nonce
+PASS SVGElement interface: attribute autofocus
+PASS SVGElement interface: attribute tabIndex
+PASS SVGElement interface: operation focus(optional FocusOptions)
+PASS SVGElement interface: operation blur()
+FAIL SVGSVGElement interface: attribute onafterprint assert_true: The prototype object must have a property "onafterprint" expected true got false
+FAIL SVGSVGElement interface: attribute onbeforeprint assert_true: The prototype object must have a property "onbeforeprint" expected true got false
+FAIL SVGSVGElement interface: attribute onbeforeunload assert_true: The prototype object must have a property "onbeforeunload" expected true got false
+FAIL SVGSVGElement interface: attribute onhashchange assert_true: The prototype object must have a property "onhashchange" expected true got false
+FAIL SVGSVGElement interface: attribute onlanguagechange assert_true: The prototype object must have a property "onlanguagechange" expected true got false
+FAIL SVGSVGElement interface: attribute onmessage assert_true: The prototype object must have a property "onmessage" expected true got false
+FAIL SVGSVGElement interface: attribute onmessageerror assert_true: The prototype object must have a property "onmessageerror" expected true got false
+FAIL SVGSVGElement interface: attribute onoffline assert_true: The prototype object must have a property "onoffline" expected true got false
+FAIL SVGSVGElement interface: attribute ononline assert_true: The prototype object must have a property "ononline" expected true got false
+FAIL SVGSVGElement interface: attribute onpagehide assert_true: The prototype object must have a property "onpagehide" expected true got false
+FAIL SVGSVGElement interface: attribute onpageshow assert_true: The prototype object must have a property "onpageshow" expected true got false
+FAIL SVGSVGElement interface: attribute onpopstate assert_true: The prototype object must have a property "onpopstate" expected true got false
+FAIL SVGSVGElement interface: attribute onrejectionhandled assert_true: The prototype object must have a property "onrejectionhandled" expected true got false
+FAIL SVGSVGElement interface: attribute onstorage assert_true: The prototype object must have a property "onstorage" expected true got false
+FAIL SVGSVGElement interface: attribute onunhandledrejection assert_true: The prototype object must have a property "onunhandledrejection" expected true got false
+FAIL SVGSVGElement interface: attribute onunload assert_true: The prototype object must have a property "onunload" expected true got false
+PASS ShadowRoot interface: attribute activeElement
+Harness: the test ran to completion.
+
diff --git a/third_party/blink/web_tests/webaudio/dom-exceptions-expected.txt b/third_party/blink/web_tests/webaudio/dom-exceptions-expected.txt
index 6fe52b40..9c3aca383 100644
--- a/third_party/blink/web_tests/webaudio/dom-exceptions-expected.txt
+++ b/third_party/blink/web_tests/webaudio/dom-exceptions-expected.txt
@@ -161,7 +161,7 @@
PASS > [waveshaper]
PASS node.oversample = "9x" did not throw an exception.
PASS node.oversample is equal to none.
-PASS node.curve = {} threw TypeError: "Failed to set the 'curve' property on 'WaveShaperNode': Failed to convert value to 'Float32Array'.".
+PASS node.curve = {} threw TypeError: "Failed to set the 'curve' property on 'WaveShaperNode': The provided value is not of type 'Float32Array'.".
PASS node.curve = new Float32Array(1) threw InvalidAccessError: "Failed to set the 'curve' property on 'WaveShaperNode': The curve length provided (1) is less than the minimum bound (2).".
PASS node.curve is equal to null.
PASS node.curve = new Float32Array(2) did not throw an exception.
@@ -233,7 +233,7 @@
PASS > [convolver]
PASS oc = new OfflineAudioContext(1, 44100, 44100) did not throw an exception.
PASS conv = oc.createConvolver() did not throw an exception.
-PASS conv.buffer = {} threw TypeError: "Failed to set the 'buffer' property on 'ConvolverNode': Failed to convert value to 'AudioBuffer'.".
+PASS conv.buffer = {} threw TypeError: "Failed to set the 'buffer' property on 'ConvolverNode': The provided value is not of type 'AudioBuffer'.".
PASS conv.buffer = oc.createBuffer(1, 100, 22050) threw NotSupportedError: "Failed to set the 'buffer' property on 'ConvolverNode': The buffer sample rate of 22050 does not match the context rate of 44100 Hz.".
PASS conv.buffer is equal to null.
PASS < [convolver] All assertions passed. (total 5 assertions)
diff --git a/third_party/blink/web_tests/webexposed/global-interface-listing-expected.txt b/third_party/blink/web_tests/webexposed/global-interface-listing-expected.txt
index 39559ec..9bf0771 100644
--- a/third_party/blink/web_tests/webexposed/global-interface-listing-expected.txt
+++ b/third_party/blink/web_tests/webexposed/global-interface-listing-expected.txt
@@ -672,7 +672,6 @@
attribute @@toStringTag
getter cssRules
getter name
- method @@iterator
method appendRule
method constructor
method deleteRule
@@ -3236,7 +3235,6 @@
setter size
interface HTMLFormControlsCollection : HTMLCollection
attribute @@toStringTag
- method @@iterator
method constructor
method namedItem
interface HTMLFormElement : HTMLElement
@@ -6620,7 +6618,6 @@
interface RadioNodeList : NodeList
attribute @@toStringTag
getter value
- method @@iterator
method constructor
setter value
interface Range
@@ -11649,6 +11646,7 @@
attribute @@toStringTag
getter src
getter weight
+ method constructor
setter src
setter weight
interface webkitSpeechGrammarList
@@ -11657,6 +11655,7 @@
method @@iterator
method addFromString
method addFromUri
+ method constructor
method item
interface webkitSpeechRecognition : EventTarget
attribute @@toStringTag
@@ -11677,6 +11676,7 @@
getter onspeechstart
getter onstart
method abort
+ method constructor
method start
method stop
setter continuous
@@ -11699,12 +11699,14 @@
attribute @@toStringTag
getter error
getter message
+ method constructor
interface webkitSpeechRecognitionEvent : Event
attribute @@toStringTag
getter emma
getter interpretation
getter resultIndex
getter results
+ method constructor
interface webkitURL
static method createObjectURL
static method revokeObjectURL
@@ -11738,17 +11740,25 @@
attribute GCController
attribute accessibilityController
attribute chrome
+ attribute closed
attribute console
attribute eventSender
+ attribute frames
attribute gamepadController
attribute globalThis
attribute internals
+ attribute length
+ attribute location
+ attribute opener
+ attribute parent
attribute propertyNamesInGlobal
+ attribute self
attribute testRunner
attribute textInputController
+ attribute top
+ attribute window
getter caches
getter clientInformation
- getter closed
getter cookieStore
getter crossOriginIsolated
getter crypto
@@ -11760,16 +11770,13 @@
getter event
getter external
getter frameElement
- getter frames
getter history
getter indexedDB
getter innerHeight
getter innerWidth
getter isSecureContext
getter launchQueue
- getter length
getter localStorage
- getter location
getter locationbar
getter menubar
getter name
@@ -11889,7 +11896,6 @@
getter onwebkitanimationstart
getter onwebkittransitionend
getter onwheel
- getter opener
getter origin
getter originIsolationRestricted
getter originPolicyIds
@@ -11897,7 +11903,6 @@
getter outerWidth
getter pageXOffset
getter pageYOffset
- getter parent
getter performance
getter personalbar
getter portalHost
@@ -11910,18 +11915,15 @@
getter scrollX
getter scrollY
getter scrollbars
- getter self
getter sessionStorage
getter speechSynthesis
getter status
getter statusbar
getter styleMedia
getter toolbar
- getter top
getter trustedTypes
getter visualViewport
getter webkitStorageInfo
- getter window
method NodeFilter
method alert
method atob
@@ -11930,7 +11932,6 @@
method cancelAnimationFrame
method cancelIdleCallback
method captureEvents
- method chooseFileSystemEntries
method clearInterval
method clearTimeout
method close
@@ -11982,11 +11983,8 @@
setter devicePixelRatio
setter event
setter external
- setter frames
setter innerHeight
setter innerWidth
- setter length
- setter location
setter locationbar
setter menubar
setter name
@@ -12104,13 +12102,11 @@
setter onwebkitanimationstart
setter onwebkittransitionend
setter onwheel
- setter opener
setter origin
setter outerHeight
setter outerWidth
setter pageXOffset
setter pageYOffset
- setter parent
setter performance
setter personalbar
setter scheduler
@@ -12122,7 +12118,6 @@
setter scrollX
setter scrollY
setter scrollbars
- setter self
setter status
setter statusbar
setter toolbar