diff --git a/tests/wpt/metadata-layout-2020/FileAPI/url/url-charset.window.js.ini b/tests/wpt/metadata-layout-2020/FileAPI/url/url-charset.window.js.ini new file mode 100644 index 00000000000..a9005e45d6e --- /dev/null +++ b/tests/wpt/metadata-layout-2020/FileAPI/url/url-charset.window.js.ini @@ -0,0 +1,8 @@ +[url-charset.window.html] + expected: TIMEOUT + [Blob charset should override any auto-detected charset.] + expected: TIMEOUT + + [Blob charset should override .] + expected: TIMEOUT + diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-002.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-002.html.ini new file mode 100644 index 00000000000..f64b45fea6b --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-002.html.ini @@ -0,0 +1,4 @@ +[hit-test-floats-002.html] + [Hit test float] + expected: FAIL + diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-004.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-003.html.ini similarity index 67% rename from tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-004.html.ini rename to tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-003.html.ini index 4bfb0c2053a..f29da48a2a0 100644 --- a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-004.html.ini +++ b/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-003.html.ini @@ -1,4 +1,4 @@ -[hit-test-floats-004.html] +[hit-test-floats-003.html] [Miss float below something else] expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-005.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-005.html.ini new file mode 100644 index 00000000000..baa9f1a7541 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-005.html.ini @@ -0,0 +1,4 @@ +[hit-test-floats-005.html] + [Miss clipped float] + expected: FAIL + diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/CaretPosition-001.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/CaretPosition-001.html.ini new file mode 100644 index 00000000000..4c79907309b --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/cssom-view/CaretPosition-001.html.ini @@ -0,0 +1,4 @@ +[CaretPosition-001.html] + [Element at (400, 100)] + expected: FAIL + diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPosition.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPosition.html.ini index 23c61ede1a1..c131078eace 100644 --- a/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPosition.html.ini +++ b/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPosition.html.ini @@ -17,6 +17,3 @@ [test the top of layer] expected: FAIL - [test some point of the element: top left corner] - expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/elementsFromPoint-iframes.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/elementsFromPoint-iframes.html.ini index 6ef8bb1049f..171592fc08f 100644 --- a/tests/wpt/metadata-layout-2020/css/cssom-view/elementsFromPoint-iframes.html.ini +++ b/tests/wpt/metadata-layout-2020/css/cssom-view/elementsFromPoint-iframes.html.ini @@ -2,6 +2,3 @@ [elementsFromPoint on the root document for points in iframe elements] expected: FAIL - [elementsFromPoint on inner documents] - expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/cssom/serialize-media-rule.html.ini b/tests/wpt/metadata-layout-2020/css/cssom/serialize-media-rule.html.ini index c0253da1005..1715f79ed09 100644 --- a/tests/wpt/metadata-layout-2020/css/cssom/serialize-media-rule.html.ini +++ b/tests/wpt/metadata-layout-2020/css/cssom/serialize-media-rule.html.ini @@ -8,15 +8,12 @@ [type - omission of all] expected: FAIL - [one rule] - expected: FAIL - [media query list] expected: FAIL [type - inclusion of negated all] expected: FAIL - [many rules] + [features - no lexicographical sorting] expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/fetch/content-type/response.window.js.ini b/tests/wpt/metadata-layout-2020/fetch/content-type/response.window.js.ini index 6b3f7fb96c3..a49f9c9d78c 100644 --- a/tests/wpt/metadata-layout-2020/fetch/content-type/response.window.js.ini +++ b/tests/wpt/metadata-layout-2020/fetch/content-type/response.window.js.ini @@ -312,24 +312,24 @@ [Response: combined response Content-Type: text/html;" \\" text/plain ";charset=GBK] expected: NOTRUN - [ diff --git a/tests/wpt/web-platform-tests/html/browsers/windows/resources/iframe-nested-cross-origin.html b/tests/wpt/web-platform-tests/html/browsers/windows/resources/iframe-nested-cross-origin.html new file mode 100644 index 00000000000..a1a66ed8425 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/browsers/windows/resources/iframe-nested-cross-origin.html @@ -0,0 +1,2 @@ + + diff --git a/tests/wpt/web-platform-tests/html/canvas/element/drawing-images-to-the-canvas/2d.drawImage.zerosource.image.html b/tests/wpt/web-platform-tests/html/canvas/element/drawing-images-to-the-canvas/2d.drawImage.zerosource.image.html index f358d8e2a77..8739265a8b2 100644 --- a/tests/wpt/web-platform-tests/html/canvas/element/drawing-images-to-the-canvas/2d.drawImage.zerosource.image.html +++ b/tests/wpt/web-platform-tests/html/canvas/element/drawing-images-to-the-canvas/2d.drawImage.zerosource.image.html @@ -8,7 +8,7 @@

2d.drawImage.zerosource.image

-

drawImage with zero-sized source rectangle from image throws INDEX_SIZE_ERR

+

drawImage with zero-sized source rectangle from image draws nothing without exception

Actual output:

@@ -16,14 +16,14 @@

Expected output:

2d.drawImage.zerosource

-

drawImage with zero-sized source rectangle throws INDEX_SIZE_ERR

+

drawImage with zero-sized source rectangle draws nothing without exception

2d.drawImage.zerosource.image

-

drawImage with zero-sized source rectangle from image throws INDEX_SIZE_ERR

+

drawImage with zero-sized source rectangle from image draws nothing without exception

- - - - - -
-
-
-
-
- diff --git a/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/fieldset-percentage-block-size.html b/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/fieldset-percentage-block-size.html index 1c221555c30..e98de892d30 100644 --- a/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/fieldset-percentage-block-size.html +++ b/tests/wpt/web-platform-tests/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/fieldset-percentage-block-size.html @@ -32,6 +32,16 @@ + + + + +
+
+
+
+
+ diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-document-under-content-visibility.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-document-under-content-visibility.html new file mode 100644 index 00000000000..26a77918e0c --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-document-under-content-visibility.html @@ -0,0 +1,25 @@ + + +HTML Test: The embed element represents a document + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/interfaces/html.idl b/tests/wpt/web-platform-tests/interfaces/html.idl index 37124323e51..bf8da3733ec 100644 --- a/tests/wpt/web-platform-tests/interfaces/html.idl +++ b/tests/wpt/web-platform-tests/interfaces/html.idl @@ -2357,6 +2357,18 @@ interface WorkerLocation { readonly attribute USVString hash; }; +[Exposed=Worklet, SecureContext] +interface WorkletGlobalScope {}; + +[Exposed=Window, SecureContext] +interface Worklet { + [NewObject] Promise addModule(USVString moduleURL, optional WorkletOptions options = {}); +}; + +dictionary WorkletOptions { + RequestCredentials credentials = "same-origin"; +}; + [Exposed=Window] interface Storage { readonly attribute unsigned long length; diff --git a/tests/wpt/web-platform-tests/interfaces/worklets.idl b/tests/wpt/web-platform-tests/interfaces/worklets.idl deleted file mode 100644 index 9c12f6ff925..00000000000 --- a/tests/wpt/web-platform-tests/interfaces/worklets.idl +++ /dev/null @@ -1,16 +0,0 @@ -// GENERATED CONTENT - DO NOT EDIT -// Content was automatically extracted by Reffy into webref -// (https://github.com/w3c/webref) -// Source: HTML Standard (https://html.spec.whatwg.org/multipage/worklets.html) - -[Exposed=Worklet, SecureContext] -interface WorkletGlobalScope {}; - -[Exposed=Window, SecureContext] -interface Worklet { - [NewObject] Promise addModule(USVString moduleURL, optional WorkletOptions options = {}); -}; - -dictionary WorkletOptions { - RequestCredentials credentials = "same-origin"; -}; diff --git a/tests/wpt/web-platform-tests/intersection-observer/explicit-root-different-document.tentative.html b/tests/wpt/web-platform-tests/intersection-observer/explicit-root-different-document.tentative.html new file mode 100644 index 00000000000..15c5e620d5b --- /dev/null +++ b/tests/wpt/web-platform-tests/intersection-observer/explicit-root-different-document.tentative.html @@ -0,0 +1,27 @@ + + + + + + +
+ diff --git a/tests/wpt/web-platform-tests/intersection-observer/not-in-containing-block-chain.tentative.html b/tests/wpt/web-platform-tests/intersection-observer/not-in-containing-block-chain.tentative.html new file mode 100644 index 00000000000..4490d0b631e --- /dev/null +++ b/tests/wpt/web-platform-tests/intersection-observer/not-in-containing-block-chain.tentative.html @@ -0,0 +1,25 @@ + + + + + + +
+
+ diff --git a/tests/wpt/web-platform-tests/intersection-observer/target-in-different-window.html b/tests/wpt/web-platform-tests/intersection-observer/target-in-different-window.html index 645b7ec1908..fcf5ba94372 100644 --- a/tests/wpt/web-platform-tests/intersection-observer/target-in-different-window.html +++ b/tests/wpt/web-platform-tests/intersection-observer/target-in-different-window.html @@ -1,5 +1,9 @@ + diff --git a/tests/wpt/web-platform-tests/loading/preloader-template.tentative.html b/tests/wpt/web-platform-tests/loading/preloader-template.tentative.html new file mode 100644 index 00000000000..e8163091848 --- /dev/null +++ b/tests/wpt/web-platform-tests/loading/preloader-template.tentative.html @@ -0,0 +1,35 @@ + + + + + diff --git a/tests/wpt/web-platform-tests/loading/resources/dummy.js b/tests/wpt/web-platform-tests/loading/resources/dummy.js new file mode 100644 index 00000000000..3cae1be79e4 --- /dev/null +++ b/tests/wpt/web-platform-tests/loading/resources/dummy.js @@ -0,0 +1 @@ +/* Nothing to see here */ diff --git a/tests/wpt/web-platform-tests/longtask-timing/longtask-before-observer.window.js b/tests/wpt/web-platform-tests/longtask-timing/longtask-before-observer.window.js new file mode 100644 index 00000000000..b7d4eb9d1de --- /dev/null +++ b/tests/wpt/web-platform-tests/longtask-timing/longtask-before-observer.window.js @@ -0,0 +1,16 @@ +async_test(t => { + assert_implements(window.PerformanceLongTaskTiming, 'Longtasks are not supported.'); + // Create a long task before any observer. + const begin = window.performance.now(); + while (window.performance.now() < begin + 60); + // After a timeout, add an observer with buffered flag. + t.step_timeout(() => { + new PerformanceObserver(t.step_func_done(list => { + list.getEntries().forEach(entry => { + assert_equals(entry.entryType, 'longtask'); + assert_equals(entry.name, 'self'); + assert_greater_than(entry.duration, 50); + }); + })).observe({type: 'longtask', buffered: true}); + }, 0); +}, 'PerformanceObserver with buffered flag can see previous longtask entries.'); diff --git a/tests/wpt/web-platform-tests/mathml/presentation-markup/operators/largeop-hit-testing.html b/tests/wpt/web-platform-tests/mathml/presentation-markup/operators/largeop-hit-testing.html new file mode 100644 index 00000000000..4f6a7782f27 --- /dev/null +++ b/tests/wpt/web-platform-tests/mathml/presentation-markup/operators/largeop-hit-testing.html @@ -0,0 +1,63 @@ + + + + +Test hit testing on large operators + + + + + + + + + + + + + + ⫿ + + + + + ⫿ + + + + + + + diff --git a/tests/wpt/web-platform-tests/mathml/relations/css-styling/padding-border-margin/padding-border-margin-002-ref.html b/tests/wpt/web-platform-tests/mathml/relations/css-styling/padding-border-margin/padding-border-margin-002-ref.html new file mode 100644 index 00000000000..e13a9f47ff4 --- /dev/null +++ b/tests/wpt/web-platform-tests/mathml/relations/css-styling/padding-border-margin/padding-border-margin-002-ref.html @@ -0,0 +1,18 @@ + + + + +Padding/border/margin on largeop (reference) + +

This test passes if you see a cyan rectangle of width 300px and + height 1500px, surrounded by a 10px blue padding, surrounded by a 10px + blue/yellow dashed border, itself + surrounded by a 10px pink margin.

+ +
+
+
+
+
+ + diff --git a/tests/wpt/web-platform-tests/mathml/relations/css-styling/padding-border-margin/padding-border-margin-002.html b/tests/wpt/web-platform-tests/mathml/relations/css-styling/padding-border-margin/padding-border-margin-002.html new file mode 100644 index 00000000000..1ccfbb7005f --- /dev/null +++ b/tests/wpt/web-platform-tests/mathml/relations/css-styling/padding-border-margin/padding-border-margin-002.html @@ -0,0 +1,34 @@ + + + + +Padding/border/margin on largeop + + + + + + + +

This test passes if you see a cyan rectangle of width 300px and + height 1500px, surrounded by a 10px blue padding, surrounded by a 10px + blue/yellow dashed border, itself + surrounded by a 10px pink margin.

+
+ + ⫿ + +
+ + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/history/history_000.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/history/history_000.htm index d592f10dc2f..0e335c7deb1 100644 --- a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/history/history_000.htm +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/history/history_000.htm @@ -72,20 +72,20 @@ //there should now be three extra assert_equals(history.length, length+3, "Three additional travel entries add to history.length"); + let popstateCount = 0; + onpopstate = t.step_func(function(e) { + if (++popstateCount == 3) { + onpopstate = null; + //once the .back navigations have completed, push again and verify length is one more than starting value + history.pushState(null, null); + assert_equals(history.length, length+1, "History.length should now only be one more than original value"); + t.done(); + } + }); //travel back to the entry that the test started on history.back(); history.back(); history.back(); - - //if the back navs are queued, queue verification task after them - queue( - t.step_func(function() { - //once the .back navigations have completed, push again and verify length is one more than starting value - history.pushState(null, null); - assert_equals(history.length, length+1, "History.length should now only be one more than original value"); - t.done(); - }) - ); }); }, @@ -152,19 +152,20 @@ //there should now be three extra assert_equals(history.length, length+3, "Three additional travel entries add to history.length"); + let popstateCount = 0; + onpopstate = t.step_func(function(e) { + if (++popstateCount == 2) { + onpopstate = null; + //once the .back navigations have fired, replace and verify the length has not changed since the last check + history.replaceState(null, null); + assert_equals(history.length, length+3, "History.length should still be three more than original value"); + t.done(); + } + }); + //travel back two entries to land in the middle history.back(); history.back(); - - //if the back navs are queued, queue verification task after them - queue( - t.step_func(function() { - //once the .back navigations have fired, push again and verify length has not changed since the last check - history.replaceState(null, null); - assert_equals(history.length, length+3, "History.length should still be three more than original value"); - t.done(); - }) - ); }); }, @@ -227,22 +228,19 @@ function() { var t = async_test("PopStateEvent fires on Forward navigation"); - t.step( function() { - onpopstate = null; - history.pushState(null, null); - history.pushState(null, null); - history.back(); - //if the back navigation is queued, set up the rest of the test after it is done - queue( - t.step_func(function() { + t.step(function() { + onpopstate = null; + history.pushState(null, null); + history.pushState(null, null); + onpopstate = function(e) { //prepare to end the test as soon as popstate fires onpopstate = function(e) { t.done(); - } + }; //go forward to fire the popstate event history.forward(); - }) - ); + }; + history.back(); }); }, @@ -309,17 +307,13 @@ //serves to make test execution sequential despite asynchronous behaviors function testFinished(test) { if(testIndex < testCollection.length - 1) { - //queue the function so that stack remains shallow - queue(testCollection[++testIndex]); + //Run the function asynchronously so that the stack remains shallow + setTimeout(testCollection[++testIndex]); } else { //when the last test has run, explicitly end test suite done(); } } - function queue(func) { - //50 allows adequate time for .back and .forward navigations to queue first - setTimeout(func, 50); - } add_result_callback(testFinished); @@ -332,7 +326,7 @@ testframe2.removeEventListener('load', startTestsWhenIframesLoaded, false); //start the first test - queue(testCollection[testIndex]); + setTimeout(testCollection[testIndex]); } // add listeners to trigger the tests once the iframes are loaded, diff --git a/tests/wpt/web-platform-tests/pointerevents/html/pointerevent_drag_interaction-manual.html b/tests/wpt/web-platform-tests/pointerevents/html/pointerevent_drag_interaction-manual.html index b316ba917ec..1a80d239b89 100644 --- a/tests/wpt/web-platform-tests/pointerevents/html/pointerevent_drag_interaction-manual.html +++ b/tests/wpt/web-platform-tests/pointerevents/html/pointerevent_drag_interaction-manual.html @@ -8,16 +8,18 @@ + + + + + + +
+ diff --git a/tests/wpt/web-platform-tests/svg/historical.html b/tests/wpt/web-platform-tests/svg/historical.html index 1b73ca8d223..23cc3fd1cc3 100644 --- a/tests/wpt/web-platform-tests/svg/historical.html +++ b/tests/wpt/web-platform-tests/svg/historical.html @@ -4,18 +4,35 @@