diff options
18 files changed, 319 insertions, 54 deletions
diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json index e3a1ebe61ed..2341518ad75 100644 --- a/tests/wpt/metadata/MANIFEST.json +++ b/tests/wpt/metadata/MANIFEST.json @@ -158046,7 +158046,7 @@ "/css/css-values/vh-support-atviewport.html", [ [ - "/css/css-values/reference/all-green.html", + "/css/css-values/reference/vh-support-atviewport-ref.htm", "==" ] ], @@ -275214,6 +275214,11 @@ {} ] ], + "css/css-values/reference/vh-support-atviewport-ref.htm": [ + [ + {} + ] + ], "css/css-values/reference/vh_not_refreshing_on_chrome-ref.html": [ [ {} @@ -353391,6 +353396,12 @@ {} ] ], + "custom-elements/enqueue-custom-element-callback-reactions-inside-another-callback.html": [ + [ + "/custom-elements/enqueue-custom-element-callback-reactions-inside-another-callback.html", + {} + ] + ], "custom-elements/historical.html": [ [ "/custom-elements/historical.html", @@ -586988,6 +586999,10 @@ "962a748d2c059b45fca4d7788b04b77c61e0b923", "support" ], + "css/css-values/reference/vh-support-atviewport-ref.htm": [ + "cfa9e8d02d48436ee1c311da7c7bd65b0f4291cf", + "support" + ], "css/css-values/reference/vh_not_refreshing_on_chrome-ref.html": [ "279d1c69b9f7fbe60edb55b7e8a5d507eda24936", "support" @@ -587225,7 +587240,7 @@ "reftest" ], "css/css-values/vh-support-atviewport.html": [ - "c79ace6df18a7432dba34fa83cdb1af183206156", + "c1999c4a22e2933259b3f77193c2b20c3b53f199", "reftest" ], "css/css-values/vh-support-margin.html": [ @@ -608036,6 +608051,10 @@ "7f5a4d0f8e76d495acfdedfe172ef5acfdac75b4", "testharness" ], + "custom-elements/enqueue-custom-element-callback-reactions-inside-another-callback.html": [ + "2fd932f29a3bae3e80ee90a1996c1d25ea7934cf", + "testharness" + ], "custom-elements/historical.html": [ "70981ce59c41dd352bccf1b70a1cb7c8cecf30ec", "testharness" diff --git a/tests/wpt/metadata/css/css-values/vh-support-atviewport.html.ini b/tests/wpt/metadata/css/css-values/vh-support-atviewport.html.ini new file mode 100644 index 00000000000..9d9d54aebb6 --- /dev/null +++ b/tests/wpt/metadata/css/css-values/vh-support-atviewport.html.ini @@ -0,0 +1,2 @@ +[vh-support-atviewport.html] + expected: FAIL diff --git a/tests/wpt/metadata/custom-elements/enqueue-custom-element-callback-reactions-inside-another-callback.html.ini b/tests/wpt/metadata/custom-elements/enqueue-custom-element-callback-reactions-inside-another-callback.html.ini new file mode 100644 index 00000000000..e2a1761324e --- /dev/null +++ b/tests/wpt/metadata/custom-elements/enqueue-custom-element-callback-reactions-inside-another-callback.html.ini @@ -0,0 +1,7 @@ +[enqueue-custom-element-callback-reactions-inside-another-callback.html] + [Connecting an element without connectedCallback while it has a disconnectedCallback in its custom element reaction queue must not result in disconnectedCallback getting invoked before the insertion completes] + expected: FAIL + + [Connecting a element with connectedCallback while it has a disconnectedCallback in its custom element reaction queue must result in disconnectedCallback getting invoked before the insertion completes] + expected: FAIL + diff --git a/tests/wpt/metadata/encoding/single-byte-decoder.html.ini b/tests/wpt/metadata/encoding/single-byte-decoder.html.ini index bc427d4a05a..7f1abc15692 100644 --- a/tests/wpt/metadata/encoding/single-byte-decoder.html.ini +++ b/tests/wpt/metadata/encoding/single-byte-decoder.html.ini @@ -2,7 +2,7 @@ type: testharness [single-byte-decoder.html?document] - expected: TIMEOUT + expected: CRASH [ISO-8859-4: iso_8859-4:1988 (document.characterSet and document.inputEncoding)] expected: FAIL @@ -32,7 +32,7 @@ [single-byte-decoder.html?XMLHttpRequest] - expected: CRASH + expected: TIMEOUT [ISO-8859-2: iso_8859-2:1987 (XMLHttpRequest)] expected: FAIL @@ -141,8 +141,5 @@ [windows-1254: cp1254 (XMLHttpRequest)] expected: TIMEOUT - [windows-1253: cp1253 (XMLHttpRequest)] - expected: TIMEOUT - [single-byte-decoder.html?TextDecoder] diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini deleted file mode 100644 index 87b07c3e670..00000000000 --- a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[traverse_the_history_1.html] - [Multiple history traversals from the same task] - expected: FAIL - diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini deleted file mode 100644 index 75d75b4cda2..00000000000 --- a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[traverse_the_history_2.html] - [Multiple history traversals, last would be aborted] - expected: FAIL - diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini deleted file mode 100644 index 385376c7321..00000000000 --- a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[traverse_the_history_4.html] - [Multiple history traversals, last would be aborted] - expected: FAIL - diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-img-element/environment-changes/viewport-change.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-img-element/environment-changes/viewport-change.html.ini index 6f7e41795a2..772148dc71f 100644 --- a/tests/wpt/metadata/html/semantics/embedded-content/the-img-element/environment-changes/viewport-change.html.ini +++ b/tests/wpt/metadata/html/semantics/embedded-content/the-img-element/environment-changes/viewport-change.html.ini @@ -11,5 +11,5 @@ expected: TIMEOUT [picture: source (max-width:500px) valid image, img valid image, resize to narrow] - expected: TIMEOUT + expected: FAIL diff --git a/tests/wpt/metadata/html/semantics/interactive-elements/the-details-element/toggleEvent.html.ini b/tests/wpt/metadata/html/semantics/interactive-elements/the-details-element/toggleEvent.html.ini new file mode 100644 index 00000000000..9e522297c94 --- /dev/null +++ b/tests/wpt/metadata/html/semantics/interactive-elements/the-details-element/toggleEvent.html.ini @@ -0,0 +1,7 @@ +[toggleEvent.html] + [Calling open twice on 'details' fires only one toggle event] + expected: FAIL + + [Setting open=true to opened 'details' element should not fire a toggle event at the 'details' element] + expected: FAIL + diff --git a/tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/aborted-parser.window.js.ini b/tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/aborted-parser.window.js.ini deleted file mode 100644 index c6d49957c4a..00000000000 --- a/tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/aborted-parser.window.js.ini +++ /dev/null @@ -1,4 +0,0 @@ -[aborted-parser.window.html] - [document.open() after parser is aborted] - expected: FAIL - diff --git a/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events.html.ini b/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events.html.ini new file mode 100644 index 00000000000..63682614c4f --- /dev/null +++ b/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events.html.ini @@ -0,0 +1,5 @@ +[promise-rejection-events.html] + expected: TIMEOUT + [rejectionhandled is dispatched from a queued task, and not immediately] + expected: TIMEOUT + diff --git a/tests/wpt/metadata/performance-timeline/webtiming-resolution.any.js.ini b/tests/wpt/metadata/performance-timeline/webtiming-resolution.any.js.ini index 99a24216c88..7725b118e9d 100644 --- a/tests/wpt/metadata/performance-timeline/webtiming-resolution.any.js.ini +++ b/tests/wpt/metadata/performance-timeline/webtiming-resolution.any.js.ini @@ -12,3 +12,6 @@ [Verifies the resolution of entry.startTime is at least 5 microseconds.] expected: TIMEOUT + [Verifies the resolution of performance.now() is at least 5 microseconds.] + expected: FAIL + diff --git a/tests/wpt/metadata/resource-timing/buffer-full-store-and-clear-during-callback.html.ini b/tests/wpt/metadata/resource-timing/buffer-full-store-and-clear-during-callback.html.ini index 88339633554..4f9df99fc13 100644 --- a/tests/wpt/metadata/resource-timing/buffer-full-store-and-clear-during-callback.html.ini +++ b/tests/wpt/metadata/resource-timing/buffer-full-store-and-clear-during-callback.html.ini @@ -1,5 +1,5 @@ [buffer-full-store-and-clear-during-callback.html] - expected: TIMEOUT + expected: ERROR [Test that entries overflowing the buffer trigger the buffer full event, can be stored, and find themselves in the primary buffer after it's cleared.] expected: TIMEOUT diff --git a/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini b/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini index 66bd350083b..a56bad443a2 100644 --- a/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini +++ b/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini @@ -1,4 +1,5 @@ [realtimeanalyser-fft-scaling.html] + expected: TIMEOUT [X 2048-point FFT peak position is not equal to 64. Got 0.] expected: FAIL diff --git a/tests/wpt/mozilla/meta/css/transition_calc_implicit.html.ini b/tests/wpt/mozilla/meta/css/transition_calc_implicit.html.ini deleted file mode 100644 index dbea4f293ad..00000000000 --- a/tests/wpt/mozilla/meta/css/transition_calc_implicit.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[transition_calc_implicit.html] - expected: TIMEOUT diff --git a/tests/wpt/web-platform-tests/css/css-values/reference/vh-support-atviewport-ref.htm b/tests/wpt/web-platform-tests/css/css-values/reference/vh-support-atviewport-ref.htm new file mode 100644 index 00000000000..cfa9e8d02d4 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-values/reference/vh-support-atviewport-ref.htm @@ -0,0 +1,22 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title> + CSS Reftest Reference + </title> + + <link href="mailto:fremycompany.developer@yahoo.fr" rel="author" title="François REMY"> + + <style type="text/css"> + html + { + background-color: yellow; + border-left: blue solid 50vw; + height: 100vh; + } + </style> + +</head> +<body> + +</body></html>
\ No newline at end of file diff --git a/tests/wpt/web-platform-tests/css/css-values/vh-support-atviewport.html b/tests/wpt/web-platform-tests/css/css-values/vh-support-atviewport.html index c79ace6df18..c1999c4a22e 100644 --- a/tests/wpt/web-platform-tests/css/css-values/vh-support-atviewport.html +++ b/tests/wpt/web-platform-tests/css/css-values/vh-support-atviewport.html @@ -1,44 +1,41 @@ <!DOCTYPE html> -<html> -<head> +<html><head> <meta charset="utf-8"> <title> CSS Values and Units Test: Viewports units are supported in @viewport rules </title> - <meta name="assert" content=" + <meta content=" Viewports units are supported in @viewport rules - " /> + " name="assert"> - <link - rel="author" - title="François REMY" - href="mailto:fremycompany.developer@yahoo.fr" - /> + <link href="mailto:fremycompany.developer@yahoo.fr" rel="author" title="François REMY"> - <link rel="help" href="http://www.w3.org/TR/css3-values/#viewport-relative-lengths" /> - <link rel="help" href="https://drafts.csswg.org/css-device-adapt-1/" /> + <link href="http://www.w3.org/TR/css3-values/#viewport-relative-lengths" rel="help"> + <link href="https://drafts.csswg.org/css-device-adapt-1/#atviewport-rule" rel="help"> - <link - rel="match" - href="reference/all-green.html" - /> + <link href="reference/vh-support-atviewport-ref.htm" rel="match"> <style type="text/css"> - - html, body { margin: 0px; padding: 0px; overflow: hidden; } - - @viewport { width: 1vw; } - - html { background: red; } - #target { background: green; width: 100vw; height: 100vh; } - + html + { + background-color: yellow; + } + + body + { + background-color: blue; + height: 100vh; + margin: 0; + } + + @viewport + { + width: 50vw; + } </style> </head> <body> - <div id="target"></div> - -</body> -</html> +</body></html>
\ No newline at end of file diff --git a/tests/wpt/web-platform-tests/custom-elements/enqueue-custom-element-callback-reactions-inside-another-callback.html b/tests/wpt/web-platform-tests/custom-elements/enqueue-custom-element-callback-reactions-inside-another-callback.html new file mode 100644 index 00000000000..2fd932f29a3 --- /dev/null +++ b/tests/wpt/web-platform-tests/custom-elements/enqueue-custom-element-callback-reactions-inside-another-callback.html @@ -0,0 +1,223 @@ +<!DOCTYPE html> +<html> +<head> +<title>Custom Elements: must enqueue an element on the appropriate element queue after checking callback is null and the attribute name</title> +<meta name="author" title="Ryosuke Niwa" href="mailto:rniwa@webkit.org"> +<meta name="assert" content="To enqueue a custom element callback reaction, the callback must be checked of being null and whether the attribute name is observed or not"> +<link rel="help" content="https://html.spec.whatwg.org/multipage/custom-elements.html#enqueue-a-custom-element-callback-reaction"> +<link rel="help" content="https://github.com/w3c/webcomponents/issues/760"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="resources/custom-elements-helpers.js"></script> +</head> +<body> +<script> + +test_with_window((contentWindow, contentDocument) => { + class ParentElement extends contentWindow.HTMLElement { + connectedCallback() + { + logs.push('begin'); + const child = this.firstChild; + child.remove(); + logs.push('end'); + } + } + contentWindow.customElements.define('parent-element', ParentElement); + + const logs = []; + class ChildElement extends contentWindow.HTMLElement { + connectedCallback() { logs.push('connected'); } + disconnectedCallback() { logs.push('disconnected'); } + } + contentWindow.customElements.define('child-element', ChildElement); + + const parent = new ParentElement; + const child = new ChildElement; + parent.appendChild(child); + + contentDocument.body.appendChild(parent); + assert_array_equals(logs, ['begin', 'connected', 'disconnected', 'end']); +}, 'Disconnecting an element with disconnectedCallback while it has a connectedCallback in its custom element reaction queue must result in connectedCallback getting invoked before the removal completes'); + +test_with_window((contentWindow, contentDocument) => { + class ParentElement extends contentWindow.HTMLElement { + connectedCallback() + { + logs.push('begin'); + const child = this.firstChild; + child.remove(); + logs.push('end'); + } + } + contentWindow.customElements.define('parent-element', ParentElement); + + const logs = []; + class ChildElement extends contentWindow.HTMLElement { + connectedCallback() { logs.push('connected'); } + } + contentWindow.customElements.define('child-element', ChildElement); + + const parent = new ParentElement; + const child = new ChildElement; + parent.appendChild(child); + + contentDocument.body.appendChild(parent); + assert_array_equals(logs, ['begin', 'end', 'connected']); +}, 'Disconnecting an element without disconnectedCallback while it has a connectedCallback in its custom element reaction queue must not result in connectedCallback getting invoked before the removal completes'); + +test_with_window((contentWindow, contentDocument) => { + class ParentElement extends contentWindow.HTMLElement { + disconnectedCallback() + { + logs.push('begin'); + contentDocument.body.appendChild(this.firstChild); + logs.push('end'); + } + } + contentWindow.customElements.define('parent-element', ParentElement); + + const logs = []; + class ChildElement extends contentWindow.HTMLElement { + connectedCallback() { logs.push('connected'); } + disconnectedCallback() { logs.push('disconnected'); } + } + contentWindow.customElements.define('child-element', ChildElement); + + const parent = new ParentElement; + const child = new ChildElement; + parent.appendChild(child); + contentDocument.body.appendChild(parent); + parent.remove(); + assert_array_equals(logs, ['connected', 'begin', 'disconnected', 'connected', 'end']); +}, 'Connecting a element with connectedCallback while it has a disconnectedCallback in its custom element reaction queue must result in disconnectedCallback getting invoked before the insertion completes'); + +test_with_window((contentWindow, contentDocument) => { + class ParentElement extends contentWindow.HTMLElement { + disconnectedCallback() + { + logs.push('begin'); + contentDocument.body.appendChild(this.firstChild); + logs.push('end'); + } + } + contentWindow.customElements.define('parent-element', ParentElement); + + const logs = []; + class ChildElement extends contentWindow.HTMLElement { + disconnectedCallback() { logs.push('disconnected'); } + } + contentWindow.customElements.define('child-element', ChildElement); + + const parent = new ParentElement; + const child = new ChildElement; + parent.appendChild(child); + contentDocument.body.appendChild(parent); + parent.remove(); + assert_array_equals(logs, ['begin', 'end', 'disconnected']); +}, 'Connecting an element without connectedCallback while it has a disconnectedCallback in its custom element reaction queue must not result in disconnectedCallback getting invoked before the insertion completes'); + +test_with_window((contentWindow, contentDocument) => { + class ParentElement extends contentWindow.HTMLElement { + connectedCallback() + { + logs.push('begin'); + document.adoptNode(this.firstChild); + logs.push('end'); + } + } + contentWindow.customElements.define('parent-element', ParentElement); + + const logs = []; + class ChildElement extends contentWindow.HTMLElement { + adoptedCallback() { logs.push('adopted'); } + connectedCallback() { logs.push('connected'); } + } + contentWindow.customElements.define('child-element', ChildElement); + + const parent = new ParentElement; + const child = new ChildElement; + parent.appendChild(child); + contentDocument.body.appendChild(parent); + assert_array_equals(logs, ['begin', 'connected', 'adopted', 'end']); +}, 'Adopting an element with adoptingCallback while it has a connectedCallback in its custom element reaction queue must result in connectedCallback getting invoked before the adoption completes'); + +test_with_window((contentWindow, contentDocument) => { + class ParentElement extends contentWindow.HTMLElement { + connectedCallback() + { + logs.push('begin'); + document.adoptNode(this.firstChild); + logs.push('end'); + } + } + contentWindow.customElements.define('parent-element', ParentElement); + + const logs = []; + class ChildElement extends contentWindow.HTMLElement { + connectedCallback() { logs.push('connected'); } + } + contentWindow.customElements.define('child-element', ChildElement); + + const parent = new ParentElement; + const child = new ChildElement; + parent.appendChild(child); + contentDocument.body.appendChild(parent); + assert_array_equals(logs, ['begin', 'end', 'connected']); +}, 'Adopting an element without adoptingCallback while it has a connectedCallback in its custom element reaction queue must not result in connectedCallback getting invoked before the adoption completes'); + +test_with_window((contentWindow, contentDocument) => { + class ParentElement extends contentWindow.HTMLElement { + connectedCallback() + { + logs.push('begin'); + this.firstChild.setAttribute('title', 'foo'); + logs.push('end'); + } + } + contentWindow.customElements.define('parent-element', ParentElement); + + const logs = []; + class ChildElement extends contentWindow.HTMLElement { + attributeChangedCallback() { logs.push('attributeChanged'); } + connectedCallback() { logs.push('connected'); } + static get observedAttributes() { return ['title']; } + } + contentWindow.customElements.define('child-element', ChildElement); + + const parent = new ParentElement; + const child = new ChildElement; + parent.appendChild(child); + contentDocument.body.appendChild(parent); + assert_array_equals(logs, ['begin', 'connected', 'attributeChanged', 'end']); +}, 'Setting an observed attribute on an element with attributeChangedCallback while it has a connectedCallback in its custom element reaction queue must result in connectedCallback getting invoked before the attribute change completes'); + +test_with_window((contentWindow, contentDocument) => { + class ParentElement extends contentWindow.HTMLElement { + connectedCallback() + { + logs.push('begin'); + this.firstChild.setAttribute('lang', 'en'); + logs.push('end'); + } + } + contentWindow.customElements.define('parent-element', ParentElement); + + const logs = []; + class ChildElement extends contentWindow.HTMLElement { + attributeChangedCallback() { logs.push('attributeChanged'); } + connectedCallback() { logs.push('connected'); } + static get observedAttributes() { return ['title']; } + } + contentWindow.customElements.define('child-element', ChildElement); + + const parent = new ParentElement; + const child = new ChildElement; + parent.appendChild(child); + contentDocument.body.appendChild(parent); + assert_array_equals(logs, ['begin', 'end', 'connected']); +}, 'Setting an observed attribute on an element with attributeChangedCallback while it has a connectedCallback in its custom element reaction queue must not result in connectedCallback getting invoked before the attribute change completes'); + +</script> +</body> +</html> |