Commit a17f8253 authored by Yuki Shiino's avatar Yuki Shiino Committed by Commit Bot

Reland "bind-gen: Switch to the new IDL interface implementation"

This is a reland of e1dce34f

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}

About perf:
APK size +7KB
https://pinpoint-dot-chromeperf.appspot.com/job/143264c6920000
https://pinpoint-dot-chromeperf.appspot.com/job/174ee7a9920000
https://pinpoint-dot-chromeperf.appspot.com/job/175f8f66920000

Bug: 839389
Change-Id: Ib5a486eba6627d3dcb40efc3a617c90511645b1b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2335713
Commit-Queue: Yuki Shiino <yukishiino@chromium.org>
Reviewed-by: default avatarKent Tamura <tkent@chromium.org>
Reviewed-by: default avatarKentaro Hara <haraken@chromium.org>
Reviewed-by: default avatarHitoshi Yoshida <peria@chromium.org>
Cr-Commit-Position: refs/heads/master@{#798235}
parent f6dd2842
......@@ -42,7 +42,7 @@ declare_args() {
# If true, the new implementation (experimental) of Blink-V8 bindings
# (of IDL interface) is used.
use_blink_v8_binding_new_idl_interface = false
use_blink_v8_binding_new_idl_interface = true
}
# feature_defines_list ---------------------------------------------------------
......
......@@ -19,7 +19,7 @@ if (!receivedError || receivedError.indexOf(expectedError) < 0)
</script>
<script id="no_class" type="text/worklet">
const expectedError = "The callback provided as parameter 2 is not a function";
const expectedError = "TypeError: Failed to execute 'registerAnimator' on 'AnimationWorkletGlobalScope': parameter 2 is not of type 'Function'."
let receivedError = undefined;
try {
registerAnimator("no_class", "");
......
......@@ -152,8 +152,8 @@ PASS dictionaryTest.set({callbackFunctionMember: {}}) threw exception TypeError:
Test for passing invalid dictionary values
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..
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..
Test for [Clamp] and [EnforceRange] member
......
......@@ -2,12 +2,12 @@ This is a testharness.js-based test.
PASS Realm for constructed objects
PASS Normal constructor in parent window
PASS Normal constructor in 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 Constructor in child window with normal NewTarget from parent window
PASS Constructor in parent window with normal NewTarget from child window
PASS Subclass constructor in parent window
PASS Subclass constructor in child 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"
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 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]"
......
......@@ -4,7 +4,7 @@ PASS Idle -> After
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 assign to read only property 'timeline' of object '#<CSSAnimation>'"
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"
PASS Active -> Idle, calling Animation.cancel()
PASS Active -> Before
PASS Active -> After
......@@ -23,7 +23,7 @@ PASS Redundant change, after -> active, then back
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 assign to read only property 'timeline' of object '#<CSSAnimation>'"
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"
PASS Set null target effect after canceling the animation.
PASS Cancel the animation after clearing the target effect.
Harness: the test ran to completion.
......
......@@ -4,15 +4,15 @@ PASS Idle -> Before
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 assign to read only property 'timeline' of object '#<CSSTransition>'"
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"
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 assign to read only property 'timeline' of object '#<CSSTransition>'"
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"
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 assign to read only property 'timeline' of object '#<CSSTransition>'"
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"
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 assign to read only property 'timeline' of object '#<CSSTransition>'"
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"
PASS Active -> Before
PASS Active -> After
PASS After -> Before
......@@ -22,7 +22,7 @@ FAIL Calculating the interval start and end time with negative end delay. assert
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 assign to read only property 'timeline' of object '#<CSSTransition>'"
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"
PASS Set null target effect after canceling the transition
PASS Cancel the transition after clearing the target effect
PASS Cancel the transition after it finishes
......
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.
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.
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.
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.
This is a testharness.js-based test.
Found 1252 tests; 1228 PASS, 24 FAIL, 0 TIMEOUT, 0 NOTRUN.
Found 1252 tests; 1232 PASS, 20 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 length
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_false: Document.prototype[Symbol.unscopables] should not be writable expected false got true
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
PASS Document interface: attribute implementation
PASS Document interface: attribute URL
PASS Document interface: attribute documentURI
......@@ -481,7 +481,7 @@ PASS DocumentType interface object length
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
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: existence and properties of interface prototype object's @@unscopables property
PASS DocumentType interface: attribute name
PASS DocumentType interface: attribute publicId
PASS DocumentType interface: attribute systemId
......@@ -512,7 +512,7 @@ PASS DocumentFragment interface object length
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
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: existence and properties of interface prototype object's @@unscopables property
PASS DocumentFragment interface: operation getElementById(DOMString)
PASS DocumentFragment interface: attribute children
PASS DocumentFragment interface: attribute firstElementChild
......@@ -561,7 +561,7 @@ PASS Element interface object length
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
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: existence and properties of interface prototype object's @@unscopables property
PASS Element interface: attribute namespaceURI
PASS Element interface: attribute prefix
PASS Element interface: attribute localName
......@@ -750,7 +750,7 @@ PASS CharacterData interface object length
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
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: existence and properties of interface prototype object's @@unscopables property
PASS CharacterData interface: attribute data
PASS CharacterData interface: attribute length
PASS CharacterData interface: operation substringData(unsigned long, unsigned long)
......
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.
......@@ -7,8 +7,6 @@ FAIL Set HTTP URL frame location.protocol to file Failed to set the 'protocol' p
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.
......
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.
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.
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.
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.
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.
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.
This is a testharness.js-based test.
Found 174 tests; 165 PASS, 9 FAIL, 0 TIMEOUT, 0 NOTRUN.
Found 174 tests; 173 PASS, 1 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: sessionStorage
PASS Window readonly attribute: localStorage
PASS Window attribute: name
PASS Window attribute: status
FAIL Window attribute: opener assert_equals: expected "function" but got "undefined"
PASS Window attribute: opener
PASS Window attribute: onabort
PASS Window attribute: onafterprint
PASS Window attribute: onbeforeprint
......@@ -143,21 +143,21 @@ PASS Window attribute: ontimeupdate
PASS Window attribute: onunload
PASS Window attribute: onvolumechange
PASS Window attribute: onwaiting
FAIL Window unforgeable attribute: window assert_equals: expected "function" but got "undefined"
PASS Window unforgeable attribute: window
PASS Window unforgeable attribute: document
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 unforgeable attribute: location
PASS Window unforgeable attribute: top
PASS Window replaceable attribute: self
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
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: frames
PASS Window replaceable attribute: parent
PASS Window replaceable attribute: external
FAIL Window replaceable attribute: length assert_equals: expected "function" but got "undefined"
PASS Window replaceable attribute: length
PASS Window replaceable attribute: origin
PASS Window replaceable attribute: screen
PASS Window replaceable attribute: scrollX
......
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.
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.
This is a testharness.js-based test.
FAIL opener of discarded nested browsing context openerGet is not a function
FAIL opener of discarded auxiliary browsing context openerGet is not a function
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
Harness: the test ran to completion.
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.
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.
This is a testharness.js-based test.
Found 1412 tests; 1327 PASS, 85 FAIL, 0 TIMEOUT, 0 NOTRUN.
Found 1412 tests; 1328 PASS, 84 FAIL, 0 TIMEOUT, 0 NOTRUN.
PASS idl_test setup
PASS idl_test validation
PASS Partial interface Document: original interface defined
......@@ -889,7 +889,7 @@ PASS Location interface: existence and properties of interface prototype object'
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 "href"
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"
......
This is a testharness.js-based test.
Found 963 tests; 937 PASS, 26 FAIL, 0 TIMEOUT, 0 NOTRUN.
Found 963 tests; 946 PASS, 17 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
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
FAIL Window interface: attribute self assert_equals: "self" must have a getter expected "function" but got "undefined"
PASS Window interface: attribute self
PASS Window interface: attribute name
PASS Window interface: attribute history
PASS Window interface: attribute customElements
......@@ -192,14 +192,14 @@ PASS Window interface: attribute statusbar
PASS Window interface: attribute toolbar
PASS Window interface: attribute status
PASS Window interface: operation close()
FAIL Window interface: attribute closed assert_equals: "closed" must have a getter expected "function" but got "undefined"
PASS Window interface: attribute closed
PASS Window interface: operation stop()
PASS Window interface: operation focus()
PASS Window interface: operation blur()
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 frames
PASS Window interface: attribute length
PASS Window interface: attribute opener
PASS Window interface: attribute parent
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 obj
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
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 have own property "window"
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
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 have own property "location"
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 "focus()" with the proper ty
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
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 have own property "top"
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
......
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.
This is a testharness.js-based test.
PASS Forms should not have an item method
PASS Forms should not have a namedItem method
FAIL Name for a single element should work assert_false: expected false got true
PASS Name for a single element should work
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,9 +10,12 @@ PASS Named elements should override builtins
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)
FAIL The form attribute should be taken into account for named getters (multiple elements) assert_false: expected false got true
PASS The form attribute should be taken into account for named getters (multiple elements)
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_false: expected false got true
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 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
......
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.
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.
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.
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 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>'"
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"
Harness: the test ran to completion.
......@@ -9,17 +9,17 @@ PASS Animation.pending produces expected style change events
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.play produces expected style change events
PASS Animation.pause produces expected style change events
PASS Animation.play produces expected style change events
PASS Animation.reverse produces expected style change events
PASS Animation.updatePlaybackRate 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
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
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.finished produces expected style change events
PASS Animation.ready 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
......
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 ["getTiming", "getComputedTiming", "updateTiming", "target", "composite", "pseudoElement", "getKeyframes", "setKeyframes", "KeyframeEffect constructor", "KeyframeEffect copy constructor"]
PASS KeyframeEffect.getTiming 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 ["getComputedTiming", "getTiming", "updateTiming", "target", "pseudoElement", "composite", "getKeyframes", "setKeyframes", "KeyframeEffect constructor", "KeyframeEffect copy constructor"]
PASS KeyframeEffect.getComputedTiming does NOT trigger a style change event
PASS KeyframeEffect.getTiming 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.composite 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.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
......
This is a testharness.js-based test.
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>'"
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"
Harness: the test ran to completion.
......@@ -9,8 +9,8 @@ PASS Removes an animation after updating the fill mode of another animation
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 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>'"
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"
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 Dispatches an event when removing
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 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>'"
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"
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 assign to read only property 'timeline' of object '#<Animation>'"
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"
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
......
......@@ -5,6 +5,6 @@ PASS setLocalDescription(reoffer) with no new transports should not cause iceGat
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"
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
PASS connection with one data channel should eventually have connected connection state
Harness: the test ran to completion.
This is a testharness.js-based test.
FAIL VTTCue.region, script-created cue Failed to set the 'region' property on 'VTTCue': The provided value is not of type 'VTTRegion'.
FAIL VTTCue.region, script-created cue Failed to set the 'region' property on 'VTTCue': Failed to convert value to 'VTTRegion'.
Harness: the test ran to completion.
......@@ -7,10 +7,10 @@ PASS typeof WebKitMutationObserver.prototype.observe is "function"
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': 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 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 successfullyParsed is true
TEST COMPLETE
......
......@@ -13,9 +13,9 @@ PASS w.currentNode is subTree
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': 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'..
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'..
Test that we handle setting the currentNode to arbitrary nodes not under the root element.
......
......@@ -6,7 +6,7 @@ PASS window is self
PASS window is frames
PASS parent is top
PASS window 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.
PASS self is non-null.
PASS frames is non-null.
PASS parent is non-null.
PASS top is non-null.
......@@ -13,6 +13,9 @@ function insertExpectedResult(path, expected)
{
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);
......
......@@ -13,6 +13,9 @@ function insertExpectedResult(path, expected)
{
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);
......
......@@ -12,6 +12,9 @@ function insertExpectedResult(path, expected)
{
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);
......
......@@ -191,6 +191,7 @@ PASS oldChildWindow.outerHeight is newChildWindow.outerHeight
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
......
......@@ -12,6 +12,7 @@ PASS childWindow.innerHeight is 0
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,8 +24,6 @@ PASS childWindow.navigator.doNotTrack is null
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
......
......@@ -12,6 +12,7 @@ PASS childWindow.innerHeight is 0
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,8 +24,6 @@ PASS childWindow.navigator.doNotTrack is null
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
......
......@@ -35,8 +35,10 @@ function startTest()
// WindowProxy.
// https://html.spec.whatwg.org/multipage/browsers.html#dom-top
// https://html.spec.whatwg.org/multipage/browsers.html#dom-parent
shouldBeNull(parent, "parent");
shouldBeNull(top, "top");
// 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");
};
location = 'data:text/html,<body>Testing...</body>';
}
......
......@@ -16,9 +16,7 @@ test(() => {
assert_throws_js(TypeError, () => { new window.__proto__.constructor; },
"Window.prototype constructor must be non-callable.");
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.");
assert_equals(window.__proto__.__proto__.constructor, EventTarget,
"WindowProperties constructor is EventTarget.");
}, "Test Window and its prototype chain's constructors.");
</script>
......@@ -14,7 +14,7 @@ PASS __proto__ = anotherObject; __proto__ threw exception TypeError: Immutable p
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: Cyclic __proto__ value.
PASS location.__proto__.__proto__ = location threw exception TypeError: Immutable prototype object '#<Location>' cannot have their prototype set.
PASS successfullyParsed is true
TEST COMPLETE
......
......@@ -24,7 +24,7 @@ shouldThrow("__proto__ = anotherObject; __proto__", error);
shouldBe("__proto__ = originalWindowPrototype; __proto__", "originalWindowPrototype");
shouldBe("anotherObject.__proto__ = window; anotherObject.__proto__", "window");
shouldThrow("__proto__ = null; __proto__", error);
shouldThrow("location.__proto__.__proto__ = location", "'TypeError: Cyclic __proto__ value'");
shouldThrow("location.__proto__.__proto__ = location", "'TypeError: Immutable prototype object \\'#<Location>\\' cannot have their prototype set'");
</script>
</body>
</html>
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
......@@ -12,6 +12,7 @@ window.performance.eventCounts.forEach [function]
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]
......
......@@ -10,7 +10,7 @@ window.scrollTo Tests
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': parameter 1 ('options') is not an object..
PASS window.scrollTo(x) threw exception TypeError: Failed to execute 'scrollTo' on 'Window': cannot convert to dictionary..
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 @@ window.scroll Tests
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': parameter 1 ('options') is not an object..
PASS window.scroll(x) threw exception TypeError: Failed to execute 'scroll' on 'Window': cannot convert to dictionary..
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 @@ window.scrollBy Tests
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': parameter 1 ('options') is not an object..
PASS window.scrollBy(x) threw exception TypeError: Failed to execute 'scrollBy' on 'Window': cannot convert to dictionary..
Testing - scrollBy with a valid ScrollOptions argument
PASS window.scrollBy({ }) did not throw exception.
PASS window.scrollBy({ left: x }) did not throw exception.
......
This test ensures the collection item obtained by named property getter is overridden by object's own property.
This test ensures the collection item obtained by named property getter is NOT 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 1
PASS document.all.foo is document.getElementById('element0')
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 1
PASS document.body.attributes.style is document.body.attributes['style']
PASS successfullyParsed is true
TEST COMPLETE
......
......@@ -10,20 +10,19 @@
<input type="text" id="element1" name="bar">
</div>
<script>
description("This test ensures the collection item obtained by named property getter is overridden by object's own property.");
description("This test ensures the collection item obtained by named property getter is NOT overridden by object's own property.");
shouldBe("document.all.foo", "document.getElementById('element0')");
document.all.foo = 1;
shouldBe("document.all.foo", "1");
shouldBe("document.all.foo", "document.getElementById('element0')");
shouldBe("document.styleSheets.link1", "document.styleSheets[0]");
document.styleSheets.link1 = 1;
shouldBe("document.styleSheets.link1", "1");
shouldBe("document.styleSheets.link1", "document.styleSheets[0]");
shouldBe("document.body.attributes.style", "document.body.attributes['style']");
document.body.attributes.style = 1;
shouldBe("document.body.attributes.style", "1");
shouldBe("document.body.attributes.style", "document.body.attributes['style']");
document.getElementById('testElements').style.display = 'none';
......
......@@ -24,9 +24,9 @@ PASS testSet('', 'data-') is true
PASS testSet('à', 'data-à') is true
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 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 testDelete('data-foo', 'foo') is true
......
......@@ -55,9 +55,9 @@ shouldBeTrue("testSet('', 'data-')");
shouldBeTrue("testSet('\xE0', 'data-\xE0')");
debug("");
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."');
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."');
debug("");
function testDelete(attr, prop)
......
......@@ -2,7 +2,7 @@ Tests type enforcement on DOM setters.
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': The provided value is not of type 'HTMLElement'..
PASS document.body = nodelist; threw exception TypeError: Failed to set the 'body' property on 'Document': Failed to convert value to 'HTMLElement'..
PASS successfullyParsed is true
TEST COMPLETE
......
......@@ -20,7 +20,7 @@ PASS (new Event('eventType', null)).bubbles is false
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': parameter 2 ('eventInitDict') is not an object..
PASS new Event('eventType', 0) threw exception TypeError: Failed to construct 'Event': cannot convert to dictionary..
PASS (new Event('eventType', window)).bubbles is false
PASS (new Event('eventType', window)).cancelable is false
PASS (new Event('eventType', window)).bubbles is true
......
......@@ -2,8 +2,8 @@ Test URL methods with null and undefined arguments.
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': 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.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.revokeObjectURL(null) did not throw exception.
PASS URL.revokeObjectURL(undefined) did not throw exception.
PASS successfullyParsed is true
......
......@@ -6,7 +6,7 @@ On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE
* 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': parameter 2 ('options') is not an object.
Caught exception: TypeError: Failed to execute 'getFile' on 'DirectoryEntry': cannot convert to dictionary.
Finished running tests.
PASS expectedCallbacksCount is 1
PASS unexpectedCallbacksCount is 0
......
......@@ -3,7 +3,7 @@ This tests the files attribute in file input forms
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': The provided value is not of type 'FileList'..
PASS file1.files = 'foo' threw exception TypeError: Failed to set the 'files' property on 'HTMLInputElement': Failed to convert value to 'FileList'..
PASS file1.files.length is 1
PASS file1.files.item(0).name is "foo.txt"
PASS file1.files.length is 1
......
......@@ -12,7 +12,7 @@ PASS set_options.length is 3
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': The provided value is not of type 'HTMLOptionElement'..
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.length is 3
PASS successfullyParsed is true
......
......@@ -2,7 +2,7 @@ This test should trigger the single exception on HTMLSelectElement, and verify t
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': The provided value is not of type 'HTMLOptionElement'..
PASS el[1] = 0; threw exception TypeError: Failed to set an indexed property on 'HTMLSelectElement': parameter 3 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
......
......@@ -59,7 +59,7 @@ PASS mySelect.selectedIndex is -1
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': The provided value is not of type 'HTMLOptionElement'..
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.length is 10
PASS mySelect.selectedIndex is -1
20) trying to set a option element using an invalid index: negative infinity
......
......@@ -59,7 +59,7 @@ PASS mySelect.selectedIndex is 0
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': The provided value is not of type 'HTMLOptionElement'..
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.length is 10
PASS mySelect.selectedIndex is 0
20) trying to set a option element using an invalid index: negative infinity
......
......@@ -10,7 +10,7 @@ PASS Resolved as expected: convert(long)
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': Failed to convert value to 'object'.
TypeError: Failed to execute 'promiseCheck' on 'Internals': parameter 3 is not of type '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 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': Failed to convert value to 'object'.
TypeError: Failed to execute 'promiseCheckWithoutExceptionState' on 'Internals': parameter 1 is not of type '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 (Document)
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': No function was found that matched the signature provided.
TypeError: Failed to execute 'promiseCheckOverload' on 'Internals': Overload resolution failed.
PASS Rejected as expected: type error (Location, long)
PASS reason instanceof Error is true
TypeError: Failed to execute 'promiseCheckOverload' on 'Internals': Valid arities are: [1, 3], but 2 arguments provided.
TypeError: Failed to execute 'promiseCheckOverload' on 'Internals': Overload resolution failed.
PASS successfullyParsed is true
TEST COMPLETE
......
......@@ -33,11 +33,6 @@ PASS Object.getOwnPropertyDescriptor(document.__proto__.__proto__, 'createElemen
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
......@@ -123,21 +118,11 @@ PASS Object.getOwnPropertyDescriptor(global, 'Infinity').hasOwnProperty('get') i
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
......
......@@ -24,7 +24,6 @@ descriptorShouldBe("Date.prototype", "'toISOString'", {writable: true, enumerabl
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});
......@@ -43,9 +42,7 @@ descriptorShouldBe("global", "'global'", {writable: true, enumerable: true, conf
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 = {};
......
......@@ -8,32 +8,32 @@ PASS navigator.webkitGetUserMedia({video: true}, emptyFunction) threw exception
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': 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(-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(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': parameter 1 ('constraints') is not an object..
PASS navigator.webkitGetUserMedia(true, emptyFunction, emptyFunction) threw exception TypeError: Failed to execute 'webkitGetUserMedia' on 'Navigator': cannot convert to dictionary..
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': 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 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 successfullyParsed is true
TEST COMPLETE
......
......@@ -11,7 +11,7 @@ PASS new RTCPeerConnection(null); did not throw exception.
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': parameter 1 ('configuration') is not an object..
PASS new RTCPeerConnection(''); threw exception TypeError: Failed to construct 'RTCPeerConnection': cannot convert to dictionary..
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.
......
......@@ -11,8 +11,8 @@ PASS sessionDescription.type is "offer"
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': 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(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({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.
......
......@@ -3,38 +3,38 @@ Tests the acceptable types for arguments to Geolocation methods.
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': 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(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(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': 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(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(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': 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, {}) 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, 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': 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, 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, 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': 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, 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, {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.
......
......@@ -2,13 +2,13 @@ This test should trigger exceptions on HTMLTableElement, and verify that the mes
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': 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.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.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': The provided value is not of type 'HTMLTableSectionElement'..
PASS t.tFoot = document.body threw exception TypeError: Failed to set the 'tFoot' property on 'HTMLTableElement': Failed to convert value to '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..
......
......@@ -2,6 +2,5 @@ Test that browser won't crash if inspector is opened for a page that fails to co
Page reloaded.
alert-toString-exception.html:2 Uncaught Exception in toString().
toString @ alert-toString-exception.html:2
(anonymous) @ alert-toString-exception.html:2
......@@ -13,7 +13,7 @@ console-log-side-effects.js:33 Number {-4.242e-11}
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 {parent: Window, opener: null, top: Window, length: 0, frames: Window, …}
console-log-side-effects.js:37 Window {window: Window, self: Window, document: document, name: "", location: Location, …}
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]
......
......@@ -24,7 +24,7 @@ function runTests() {
assertEqual(
"stringify",
JSON.stringify(window.location),
'{"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":""}');
'{"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":""}');
}
</script>
</head>
......
......@@ -4,6 +4,6 @@ PASS: Cross frame access by enumerating the window object was denied.
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.
FAIL: Cross frame access by getting the keys of the Location object returned non-whitelisted key: href
PASS: Cross frame access by getting the keys of the Location object revealed only whitelisted keys.
PASS: Cross frame access by getting the property names of the Location object revealed no custom properties.
......@@ -5,7 +5,7 @@ On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE
PASS registrationObservation.wasCollected is false
PASS swObservation.wasCollected is false
PASS registrationObservation.wasCollected is false
PASS swObservation.wasCollected is false
PASS swObservation.wasCollected is true
PASS successfullyParsed is true
TEST COMPLETE
......
......@@ -83,7 +83,7 @@ function finish()
// once the new worker is activated, check that the old worker is gc'd.
gc();
shouldBeFalse('registrationObservation.wasCollected');
shouldBeFalse('swObservation.wasCollected');
shouldBeTrue('swObservation.wasCollected');
finishJSTest();
}
</script>
......@@ -13,7 +13,7 @@ async_test(function(t) {
try {
newWindow.removeEventListener("resize", 2);
} catch (e) {
assert_equals(e.message, "Failed to execute 'removeEventListener' on 'EventTarget': The callback provided as parameter 2 is not an object.");
assert_equals(e.message, "Failed to execute 'removeEventListener' on 'EventTarget': parameter 2 is not of type 'Object'.");
}
});
});
......
......@@ -13,10 +13,10 @@ PASS trans.mode is "readwrite"
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': parameter 2 ('options') is not an object.
PASS db.createObjectStore('d', 'bar'); threw TypeError: Failed to execute 'createObjectStore' on 'IDBDatabase': cannot convert to dictionary.
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': parameter 2 ('options') is not an object.
PASS db.createObjectStore('e', false); threw TypeError: Failed to execute 'createObjectStore' on 'IDBDatabase': cannot convert to dictionary.
trans.objectStore('b').put({'a': 0}, 0)
trans.objectStore('a').get(0)
PASS event.target.result.a is {a: 0}
......
......@@ -17,10 +17,10 @@ PASS indexObject2.unique is false
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': parameter 3 ('options') is not an object.
PASS store.createIndex('failureIndex', 'zzz', true) threw TypeError: Failed to execute 'createIndex' on 'IDBObjectStore': cannot convert to dictionary.
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': parameter 3 ('options') is not an object.
PASS store.createIndex('failureIndex', 'zzz', 'string') threw TypeError: Failed to execute 'createIndex' on 'IDBObjectStore': cannot convert to dictionary.
PASS 'name' in indexObject is true
PASS indexObject.name is "indexName"
PASS 'objectStore' in indexObject is true
......
......@@ -17,10 +17,10 @@ PASS [Worker] indexObject2.unique is false
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': parameter 3 ('options') is not an object.
PASS [Worker] store.createIndex('failureIndex', 'zzz', true) threw TypeError: Failed to execute 'createIndex' on 'IDBObjectStore': cannot convert to dictionary.
[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': parameter 3 ('options') is not an object.
PASS [Worker] store.createIndex('failureIndex', 'zzz', 'string') threw TypeError: Failed to execute 'createIndex' on 'IDBObjectStore': cannot convert to dictionary.
PASS [Worker] 'name' in indexObject is true
PASS [Worker] indexObject.name is "indexName"
PASS [Worker] 'objectStore' in indexObject is true
......
......@@ -90,10 +90,10 @@ PASS text1.rotate.baseVal.replaceItem(null, 0) threw exception TypeError: Failed
Test uncommon values for indexed setter
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[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.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
......
......@@ -103,10 +103,10 @@ PASS poly1.points.replaceItem(1, 0) threw exception TypeError: Failed to execute
Test uncommon values for indexed setter
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'..
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'..
Test uncommon arguments for replaceItem() and xml-dom synchronization
......
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.
This is a testharness.js-based test.
PASS Same-origin-domain prerequisite check: the original prototype is accessible
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 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
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
......
......@@ -170,6 +170,7 @@ PASS oldChildWindow.outerHeight is newChildWindow.outerHeight
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
......
......@@ -11,6 +11,7 @@ PASS childWindow.innerHeight is 0
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 ''
......@@ -22,8 +23,6 @@ PASS childWindow.navigator.doNotTrack is null
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
......
......@@ -11,6 +11,7 @@ PASS childWindow.innerHeight is 0
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 ''
......@@ -22,8 +23,6 @@ PASS childWindow.navigator.doNotTrack is null
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
......
......@@ -12,6 +12,7 @@ window.performance.eventCounts.forEach [function]
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]
......
......@@ -452,6 +452,7 @@ interface CSSKeyframesRule : CSSRule
attribute @@toStringTag
getter cssRules
getter name
method @@iterator
method appendRule
method constructor
method deleteRule
......@@ -2704,6 +2705,7 @@ interface HTMLFontElement : HTMLElement
setter size
interface HTMLFormControlsCollection : HTMLCollection
attribute @@toStringTag
method @@iterator
method constructor
method namedItem
interface HTMLFormElement : HTMLElement
......@@ -5526,6 +5528,7 @@ interface RTCTrackEvent : Event
interface RadioNodeList : NodeList
attribute @@toStringTag
getter value
method @@iterator
method constructor
setter value
interface Range
......@@ -9359,7 +9362,6 @@ interface webkitSpeechGrammar
attribute @@toStringTag
getter src
getter weight
method constructor
setter src
setter weight
interface webkitSpeechGrammarList
......@@ -9368,7 +9370,6 @@ interface webkitSpeechGrammarList
method @@iterator
method addFromString
method addFromUri
method constructor
method item
interface webkitSpeechRecognition : EventTarget
attribute @@toStringTag
......@@ -9389,7 +9390,6 @@ interface webkitSpeechRecognition : EventTarget
getter onspeechstart
getter onstart
method abort
method constructor
method start
method stop
setter continuous
......@@ -9412,14 +9412,12 @@ interface webkitSpeechRecognitionError : Event
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
......@@ -9453,25 +9451,17 @@ interface webkitURL
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
......@@ -9481,12 +9471,15 @@ interface webkitURL
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
......@@ -9600,11 +9593,13 @@ interface webkitURL
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
......@@ -9615,15 +9610,18 @@ interface webkitURL
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
......@@ -9673,8 +9671,11 @@ interface webkitURL
setter devicePixelRatio
setter event
setter external
setter frames
setter innerHeight
setter innerWidth
setter length
setter location
setter locationbar
setter menubar
setter name
......@@ -9787,11 +9788,13 @@ interface webkitURL
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
......@@ -9802,6 +9805,7 @@ interface webkitURL
setter scrollX
setter scrollY
setter scrollbars
setter self
setter status
setter statusbar
setter toolbar
......
......@@ -161,7 +161,7 @@ PASS < [invalid-frame-length] All assertions passed. (total 2 assertions)
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': The provided value is not of type 'Float32Array'.".
PASS node.curve = {} threw TypeError: "Failed to set the 'curve' property on 'WaveShaperNode': Failed to convert value to '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 < [oscillator] All assertions passed. (total 17 assertions)
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': The provided value is not of type 'AudioBuffer'.".
PASS conv.buffer = {} threw TypeError: "Failed to set the 'buffer' property on 'ConvolverNode': Failed to convert value to '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)
......
......@@ -672,6 +672,7 @@ interface CSSKeyframesRule : CSSRule
attribute @@toStringTag
getter cssRules
getter name
method @@iterator
method appendRule
method constructor
method deleteRule
......@@ -3245,6 +3246,7 @@ interface HTMLFontElement : HTMLElement
setter size
interface HTMLFormControlsCollection : HTMLCollection
attribute @@toStringTag
method @@iterator
method constructor
method namedItem
interface HTMLFormElement : HTMLElement
......@@ -6625,6 +6627,7 @@ interface RTCTrackEvent : Event
interface RadioNodeList : NodeList
attribute @@toStringTag
getter value
method @@iterator
method constructor
setter value
interface Range
......@@ -11653,7 +11656,6 @@ interface webkitSpeechGrammar
attribute @@toStringTag
getter src
getter weight
method constructor
setter src
setter weight
interface webkitSpeechGrammarList
......@@ -11662,7 +11664,6 @@ interface webkitSpeechGrammarList
method @@iterator
method addFromString
method addFromUri
method constructor
method item
interface webkitSpeechRecognition : EventTarget
attribute @@toStringTag
......@@ -11683,7 +11684,6 @@ interface webkitSpeechRecognition : EventTarget
getter onspeechstart
getter onstart
method abort
method constructor
method start
method stop
setter continuous
......@@ -11706,14 +11706,12 @@ interface webkitSpeechRecognitionError : Event
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
......@@ -11747,25 +11745,17 @@ interface webkitURL
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
......@@ -11777,13 +11767,16 @@ interface webkitURL
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
......@@ -11903,6 +11896,7 @@ interface webkitURL
getter onwebkitanimationstart
getter onwebkittransitionend
getter onwheel
getter opener
getter origin
getter originIsolationRestricted
getter originPolicyIds
......@@ -11910,6 +11904,7 @@ interface webkitURL
getter outerWidth
getter pageXOffset
getter pageYOffset
getter parent
getter performance
getter personalbar
getter portalHost
......@@ -11922,15 +11917,18 @@ interface webkitURL
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
......@@ -11939,6 +11937,7 @@ interface webkitURL
method cancelAnimationFrame
method cancelIdleCallback
method captureEvents
method chooseFileSystemEntries
method clearInterval
method clearTimeout
method close
......@@ -11990,8 +11989,11 @@ interface webkitURL
setter devicePixelRatio
setter event
setter external
setter frames
setter innerHeight
setter innerWidth
setter length
setter location
setter locationbar
setter menubar
setter name
......@@ -12109,11 +12111,13 @@ interface webkitURL
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
......@@ -12125,6 +12129,7 @@ interface webkitURL
setter scrollX
setter scrollY
setter scrollbars
setter self
setter status
setter statusbar
setter toolbar
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment