From 54c2e735e60b76e0c76ff035702c749fa9e77fd1 Mon Sep 17 00:00:00 2001 From: WPT Sync Bot Date: Thu, 7 Jan 2021 08:21:05 +0000 Subject: [PATCH] Update web-platform-tests to revision 313f99aafa6620894b8d7a7acc6e015b9548e179 --- .../CSS2/floats/hit-test-floats-002.html.ini | 4 - .../CSS2/floats/hit-test-floats-004.html.ini | 4 - .../hit-test-anonymous-block.html.ini | 4 - .../transform-scale-hittest.html.ini | 3 - .../fetch/content-type/response.window.js.ini | 15 +- .../nosniff/parsing-nosniff.window.js.ini | 6 - .../traverse_the_history_4.html.ini | 4 + .../traverse_the_history_5.html.ini | 4 + ...ndbox-inherited-from-required-csp.html.ini | 19 +++ .../embedded-opener-remove-frame.html.ini | 1 + .../iframe_sandbox_popups_escaping-3.html.ini | 3 +- ...rame_sandbox_popups_nonescaping-3.html.ini | 3 +- .../form-double-submit-2.html.ini | 4 - .../form-double-submit.html.ini | 4 - .../textfieldselection/select-event.html.ini | 92 ++++++----- .../activation-behavior.window.js.ini | 4 + .../empty-assertion-clause.html.ini | 5 + .../invalid-type-assertion-error.html.ini | 4 + .../unsupported-assertion.html.ini | 5 + .../realtimeanalyser-fft-scaling.html.ini | 1 + .../sub-sample-buffer-stitching.html.ini | 3 + .../webmessaging/without-ports/017.html.ini | 5 - .../Worker/Worker-constructor.html.ini | 2 - tests/wpt/metadata/MANIFEST.json | 152 ++++++++++++++++-- .../CSS2/floats/hit-test-floats-002.html.ini | 4 - .../CSS2/floats/hit-test-floats-004.html.ini | 4 - .../hit-test-anonymous-block.html.ini | 4 - .../transform-scale-hittest.html.ini | 3 - .../fetch/content-type/response.window.js.ini | 15 +- .../nosniff/parsing-nosniff.window.js.ini | 6 - .../traverse_the_history_4.html.ini | 4 + .../traverse_the_history_5.html.ini | 4 + ...ndbox-inherited-from-required-csp.html.ini | 19 +++ .../embedded-opener-remove-frame.html.ini | 1 + .../iframe_sandbox_popups_escaping-3.html.ini | 3 +- ...rame_sandbox_popups_nonescaping-3.html.ini | 3 +- .../form-double-submit-2.html.ini | 4 - .../form-double-submit.html.ini | 4 - .../textfieldselection/select-event.html.ini | 92 ++++++----- .../activation-behavior.window.js.ini | 4 + .../empty-assertion-clause.html.ini | 5 + .../invalid-type-assertion-error.html.ini | 4 + .../unsupported-assertion.html.ini | 5 + .../realtimeanalyser-fft-scaling.html.ini | 1 + .../sub-sample-buffer-stitching.html.ini | 3 + .../webmessaging/without-ports/017.html.ini | 5 - .../Worker/Worker-constructor.html.ini | 2 - .../out-of-flow-in-multicolumn-012.html | 39 +++++ .../content-visibility-080.html | 31 ++++ .../css/css-grid/support/grid-child-utils.js | 2 +- .../aspect-ratio/flex-aspect-ratio-025.html | 73 +++++++++ .../aspect-ratio/flex-aspect-ratio-026.html | 77 +++++++++ ...ucts-custom-element-in-document-write.html | 15 +- .../sandbox-inherited-from-required-csp.html | 141 ++++++++++++++++ .../empty-assertion-clause.html | 19 +++ .../empty-assertion-clause.js | 2 + .../import-assertions/empty-type-assertion.js | 2 + .../import-assertions/hello.js | 1 + .../invalid-type-assertion-error.html | 24 +++ .../invalid-type-assertion.js | 2 + .../unsupported-assertion.html | 19 +++ .../unsupported-assertion.js | 2 + .../same-document-with-document-root.html | 60 +++++++ ...interevent_auxclick_is_a_pointerevent.html | 2 +- .../pointerevent_click_is_a_pointerevent.html | 2 +- .../nested-blob-url-workers.https.html | 42 +++++ .../resources/create-blob-url-worker.js | 22 +++ ...d-blob-url-worker-created-from-worker.html | 16 ++ .../resources/nested-blob-url-workers.html | 38 +++++ ...d-worker-created-from-blob-url-worker.html | 33 ++++ .../resources/postmessage-fetched-text.js | 5 + ...atedEnumeration-SVGFECompositeElement.html | 14 +- .../ci/azure/safari-technology-preview.rb | 8 +- .../web-platform-tests/tools/manifest/log.py | 7 +- .../tools/manifest/manifest.py | 27 +++- .../tools/manifest/update.py | 7 +- .../xhr/event-timeout.any.js | 2 +- 77 files changed, 1067 insertions(+), 217 deletions(-) delete mode 100644 tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-002.html.ini delete mode 100644 tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-004.html.ini delete mode 100644 tests/wpt/metadata-layout-2020/css/CSS2/normal-flow/hit-test-anonymous-block.html.ini create mode 100644 tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini create mode 100644 tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini create mode 100644 tests/wpt/metadata-layout-2020/html/browsers/sandboxing/sandbox-inherited-from-required-csp.html.ini delete mode 100644 tests/wpt/metadata-layout-2020/html/semantics/forms/form-submission-0/form-double-submit-2.html.ini delete mode 100644 tests/wpt/metadata-layout-2020/html/semantics/forms/form-submission-0/form-double-submit.html.ini create mode 100644 tests/wpt/metadata-layout-2020/html/semantics/links/following-hyperlinks/activation-behavior.window.js.ini create mode 100644 tests/wpt/metadata-layout-2020/html/semantics/scripting-1/the-script-element/import-assertions/empty-assertion-clause.html.ini create mode 100644 tests/wpt/metadata-layout-2020/html/semantics/scripting-1/the-script-element/import-assertions/invalid-type-assertion-error.html.ini create mode 100644 tests/wpt/metadata-layout-2020/html/semantics/scripting-1/the-script-element/import-assertions/unsupported-assertion.html.ini delete mode 100644 tests/wpt/metadata-layout-2020/webmessaging/without-ports/017.html.ini delete mode 100644 tests/wpt/metadata-layout-2020/workers/constructors/Worker/Worker-constructor.html.ini delete mode 100644 tests/wpt/metadata/css/CSS2/floats/hit-test-floats-002.html.ini delete mode 100644 tests/wpt/metadata/css/CSS2/floats/hit-test-floats-004.html.ini delete mode 100644 tests/wpt/metadata/css/CSS2/normal-flow/hit-test-anonymous-block.html.ini create mode 100644 tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini create mode 100644 tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini create mode 100644 tests/wpt/metadata/html/browsers/sandboxing/sandbox-inherited-from-required-csp.html.ini delete mode 100644 tests/wpt/metadata/html/semantics/forms/form-submission-0/form-double-submit-2.html.ini delete mode 100644 tests/wpt/metadata/html/semantics/forms/form-submission-0/form-double-submit.html.ini create mode 100644 tests/wpt/metadata/html/semantics/links/following-hyperlinks/activation-behavior.window.js.ini create mode 100644 tests/wpt/metadata/html/semantics/scripting-1/the-script-element/import-assertions/empty-assertion-clause.html.ini create mode 100644 tests/wpt/metadata/html/semantics/scripting-1/the-script-element/import-assertions/invalid-type-assertion-error.html.ini create mode 100644 tests/wpt/metadata/html/semantics/scripting-1/the-script-element/import-assertions/unsupported-assertion.html.ini delete mode 100644 tests/wpt/metadata/webmessaging/without-ports/017.html.ini delete mode 100644 tests/wpt/metadata/workers/constructors/Worker/Worker-constructor.html.ini create mode 100644 tests/wpt/web-platform-tests/css/css-break/out-of-flow-in-multicolumn-012.html create mode 100644 tests/wpt/web-platform-tests/css/css-contain/content-visibility/content-visibility-080.html create mode 100644 tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-025.html create mode 100644 tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-026.html create mode 100644 tests/wpt/web-platform-tests/html/browsers/sandboxing/sandbox-inherited-from-required-csp.html create mode 100644 tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/import-assertions/empty-assertion-clause.html create mode 100644 tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/import-assertions/empty-assertion-clause.js create mode 100644 tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/import-assertions/empty-type-assertion.js create mode 100644 tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/import-assertions/hello.js create mode 100644 tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/import-assertions/invalid-type-assertion-error.html create mode 100644 tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/import-assertions/invalid-type-assertion.js create mode 100644 tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/import-assertions/unsupported-assertion.html create mode 100644 tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/import-assertions/unsupported-assertion.js create mode 100644 tests/wpt/web-platform-tests/intersection-observer/same-document-with-document-root.html create mode 100644 tests/wpt/web-platform-tests/service-workers/service-worker/nested-blob-url-workers.https.html create mode 100644 tests/wpt/web-platform-tests/service-workers/service-worker/resources/create-blob-url-worker.js create mode 100644 tests/wpt/web-platform-tests/service-workers/service-worker/resources/nested-blob-url-worker-created-from-worker.html create mode 100644 tests/wpt/web-platform-tests/service-workers/service-worker/resources/nested-blob-url-workers.html create mode 100644 tests/wpt/web-platform-tests/service-workers/service-worker/resources/nested-worker-created-from-blob-url-worker.html create mode 100644 tests/wpt/web-platform-tests/service-workers/service-worker/resources/postmessage-fetched-text.js 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 deleted file mode 100644 index f64b45fea6b..00000000000 --- a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-002.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[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-004.html.ini deleted file mode 100644 index 4bfb0c2053a..00000000000 --- a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-004.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[hit-test-floats-004.html] - [Miss float below something else] - expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/normal-flow/hit-test-anonymous-block.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/normal-flow/hit-test-anonymous-block.html.ini deleted file mode 100644 index 8efb7024ae4..00000000000 --- a/tests/wpt/metadata-layout-2020/css/CSS2/normal-flow/hit-test-anonymous-block.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[hit-test-anonymous-block.html] - [Hit test beside line of text inside anonymous block] - expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/css-transforms/transform-scale-hittest.html.ini b/tests/wpt/metadata-layout-2020/css/css-transforms/transform-scale-hittest.html.ini index f8e7e539aae..4a1e8110f6f 100644 --- a/tests/wpt/metadata-layout-2020/css/css-transforms/transform-scale-hittest.html.ini +++ b/tests/wpt/metadata-layout-2020/css/css-transforms/transform-scale-hittest.html.ini @@ -2,6 +2,3 @@ [Hit test intersecting scaled box] expected: FAIL - [Hit test within unscaled box] - 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 c199782c775..dfcd4b97189 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 @@ -318,15 +318,12 @@ [ + + + + diff --git a/tests/wpt/web-platform-tests/css/css-grid/support/grid-child-utils.js b/tests/wpt/web-platform-tests/css/css-grid/support/grid-child-utils.js index d75ad6eb706..5e0c5caad12 100644 --- a/tests/wpt/web-platform-tests/css/css-grid/support/grid-child-utils.js +++ b/tests/wpt/web-platform-tests/css/css-grid/support/grid-child-utils.js @@ -5,7 +5,7 @@ const gridChildHelperRow = "row"; const gridChildHelperCol = "col"; // Helper for building testcases for grid-template-* with a child div in -// multiple positions. Prop is expected ot be one of gridChildHelperRow or +// multiple positions. Prop is expected to be one of gridChildHelperRow or // gridChildHelperCol, to select testing grid rows or grid columns, // respectively. // The child div is found by the id of 'child'. diff --git a/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-025.html b/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-025.html new file mode 100644 index 00000000000..fa9ce8ebce6 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-025.html @@ -0,0 +1,73 @@ + + + CSS aspect-ratio: Test flex item's resolved width/min-width with border-box box-sizing in a row flex container + + + + + + +

Test passes if there is a filled green square and no red.

+ + +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ + +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ diff --git a/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-026.html b/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-026.html new file mode 100644 index 00000000000..1df14468632 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-sizing/aspect-ratio/flex-aspect-ratio-026.html @@ -0,0 +1,77 @@ + + + CSS aspect-ratio: Test flex item's resolved height/min-height with border-box box-sizing in a column flex container + + + + + + +

Test passes if there is a filled green square and no red.

+ + +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ + +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ diff --git a/tests/wpt/web-platform-tests/custom-elements/parser/parser-constructs-custom-element-in-document-write.html b/tests/wpt/web-platform-tests/custom-elements/parser/parser-constructs-custom-element-in-document-write.html index 3b5256677d0..14c830b9ba9 100644 --- a/tests/wpt/web-platform-tests/custom-elements/parser/parser-constructs-custom-element-in-document-write.html +++ b/tests/wpt/web-platform-tests/custom-elements/parser/parser-constructs-custom-element-in-document-write.html @@ -14,10 +14,16 @@
diff --git a/tests/wpt/web-platform-tests/html/browsers/sandboxing/sandbox-inherited-from-required-csp.html b/tests/wpt/web-platform-tests/html/browsers/sandboxing/sandbox-inherited-from-required-csp.html new file mode 100644 index 00000000000..d1bc4d1e04d --- /dev/null +++ b/tests/wpt/web-platform-tests/html/browsers/sandboxing/sandbox-inherited-from-required-csp.html @@ -0,0 +1,141 @@ + + +Inherit sandbox from CSP embedded enforcement + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/import-assertions/empty-assertion-clause.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/import-assertions/empty-assertion-clause.html new file mode 100644 index 00000000000..3a7c371189c --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/import-assertions/empty-assertion-clause.html @@ -0,0 +1,19 @@ + +Handling of empty import assertion clause + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/import-assertions/empty-assertion-clause.js b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/import-assertions/empty-assertion-clause.js new file mode 100644 index 00000000000..6913dd61dff --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/import-assertions/empty-assertion-clause.js @@ -0,0 +1,2 @@ +import "./hello.js" assert { }; +log.push("empty-assertion-clause"); diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/import-assertions/empty-type-assertion.js b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/import-assertions/empty-type-assertion.js new file mode 100644 index 00000000000..5bb9b1ddb8e --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/import-assertions/empty-type-assertion.js @@ -0,0 +1,2 @@ +import "./hello.js#2" assert { type: "" }; +log.push("empty-type-assertion"); diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/import-assertions/hello.js b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/import-assertions/hello.js new file mode 100644 index 00000000000..2f348444606 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/import-assertions/hello.js @@ -0,0 +1 @@ +log.push("hello"); \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/import-assertions/invalid-type-assertion-error.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/import-assertions/invalid-type-assertion-error.html new file mode 100644 index 00000000000..d3399f085ce --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/import-assertions/invalid-type-assertion-error.html @@ -0,0 +1,24 @@ + +Handling of invalid module type import assertions + + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/import-assertions/invalid-type-assertion.js b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/import-assertions/invalid-type-assertion.js new file mode 100644 index 00000000000..e28c0176d5c --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/import-assertions/invalid-type-assertion.js @@ -0,0 +1,2 @@ +import "./hello.js#1" assert { type: "notARealType" }; +log.push("invalid-type-assertion"); diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/import-assertions/unsupported-assertion.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/import-assertions/unsupported-assertion.html new file mode 100644 index 00000000000..edda2d737a3 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/import-assertions/unsupported-assertion.html @@ -0,0 +1,19 @@ + +Handling of unsupported assertion + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/import-assertions/unsupported-assertion.js b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/import-assertions/unsupported-assertion.js new file mode 100644 index 00000000000..45f6d60c9da --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/import-assertions/unsupported-assertion.js @@ -0,0 +1,2 @@ +import "./hello.js" assert { unsupportedAssertionKey: "unsupportedAssertionValue" }; +log.push("unsupported-assertion"); diff --git a/tests/wpt/web-platform-tests/intersection-observer/same-document-with-document-root.html b/tests/wpt/web-platform-tests/intersection-observer/same-document-with-document-root.html new file mode 100644 index 00000000000..15cb7c4cbc2 --- /dev/null +++ b/tests/wpt/web-platform-tests/intersection-observer/same-document-with-document-root.html @@ -0,0 +1,60 @@ + + + + + + + + +
+
+
+ + + diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_auxclick_is_a_pointerevent.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_auxclick_is_a_pointerevent.html index 000d0df764e..aac73db9eb7 100644 --- a/tests/wpt/web-platform-tests/pointerevents/pointerevent_auxclick_is_a_pointerevent.html +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_auxclick_is_a_pointerevent.html @@ -31,7 +31,7 @@ function testFunction(test){ function run_test(pointerType){ promise_test((test) => new Promise((resolve, reject) => { - const testPointer = "TestPointer"; + const testPointer = pointerType + "TestPointer"; let auxclickFunc = testFunction(test); test.add_cleanup(() => { target.removeEventListener("auxclick", auxclickFunc); diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_click_is_a_pointerevent.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_click_is_a_pointerevent.html index dfea148898e..2f5dfd4dbfd 100644 --- a/tests/wpt/web-platform-tests/pointerevents/pointerevent_click_is_a_pointerevent.html +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_click_is_a_pointerevent.html @@ -31,7 +31,7 @@ function testFunction(test){ function run_test(pointerType){ promise_test((test) => new Promise((resolve, reject) => { - const testPointer = "TestPointer"; + const testPointer = pointerType + "TestPointer"; let clickFunc = testFunction(test); test.add_cleanup(() => { target.removeEventListener("click", clickFunc); diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/nested-blob-url-workers.https.html b/tests/wpt/web-platform-tests/service-workers/service-worker/nested-blob-url-workers.https.html new file mode 100644 index 00000000000..7269cbb701f --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/service-worker/nested-blob-url-workers.https.html @@ -0,0 +1,42 @@ + + +Service Worker: nested blob URL worker clients + + + + + + diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/resources/create-blob-url-worker.js b/tests/wpt/web-platform-tests/service-workers/service-worker/resources/create-blob-url-worker.js new file mode 100644 index 00000000000..57e4882c24f --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/service-worker/resources/create-blob-url-worker.js @@ -0,0 +1,22 @@ +const childWorkerScript = ` + self.onmessage = async (e) => { + const response = await fetch(e.data); + const text = await response.text(); + self.postMessage(text); + }; +`; +const blob = new Blob([childWorkerScript], { type: 'text/javascript' }); +const blobUrl = URL.createObjectURL(blob); +const childWorker = new Worker(blobUrl); + +// When a message comes from the parent frame, sends a resource url to the child +// worker. +self.onmessage = (e) => { + childWorker.postMessage(e.data); +}; + +// When a message comes from the child worker, sends a content of fetch() to the +// parent frame. +childWorker.onmessage = (e) => { + self.postMessage(e.data); +}; diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/resources/nested-blob-url-worker-created-from-worker.html b/tests/wpt/web-platform-tests/service-workers/service-worker/resources/nested-blob-url-worker-created-from-worker.html new file mode 100644 index 00000000000..fc048e288e9 --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/service-worker/resources/nested-blob-url-worker-created-from-worker.html @@ -0,0 +1,16 @@ + + diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/resources/nested-blob-url-workers.html b/tests/wpt/web-platform-tests/service-workers/service-worker/resources/nested-blob-url-workers.html new file mode 100644 index 00000000000..f0eafcd3e01 --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/service-worker/resources/nested-blob-url-workers.html @@ -0,0 +1,38 @@ + + diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/resources/nested-worker-created-from-blob-url-worker.html b/tests/wpt/web-platform-tests/service-workers/service-worker/resources/nested-worker-created-from-blob-url-worker.html new file mode 100644 index 00000000000..3fad2c9228c --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/service-worker/resources/nested-worker-created-from-blob-url-worker.html @@ -0,0 +1,33 @@ + + diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/resources/postmessage-fetched-text.js b/tests/wpt/web-platform-tests/service-workers/service-worker/resources/postmessage-fetched-text.js new file mode 100644 index 00000000000..9fc67171d05 --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/service-worker/resources/postmessage-fetched-text.js @@ -0,0 +1,5 @@ +self.onmessage = async (e) => { + const response = await fetch(e.data); + const text = await response.text(); + self.postMessage(text); +}; diff --git a/tests/wpt/web-platform-tests/svg/types/scripted/SVGAnimatedEnumeration-SVGFECompositeElement.html b/tests/wpt/web-platform-tests/svg/types/scripted/SVGAnimatedEnumeration-SVGFECompositeElement.html index e6315b43450..0e99f5fe9cb 100644 --- a/tests/wpt/web-platform-tests/svg/types/scripted/SVGAnimatedEnumeration-SVGFECompositeElement.html +++ b/tests/wpt/web-platform-tests/svg/types/scripted/SVGAnimatedEnumeration-SVGFECompositeElement.html @@ -34,13 +34,18 @@ test(function() { assert_equals(feCompositeElement.operator.baseVal, SVGFECompositeElement.SVG_FECOMPOSITE_OPERATOR_XOR); assert_equals(feCompositeElement.getAttribute('operator'), "xor"); + // Switch to 'lighter'. + feCompositeElement.operator.baseVal = SVGFECompositeElement.SVG_FECOMPOSITE_OPERATOR_LIGHTER; + assert_equals(feCompositeElement.operator.baseVal, SVGFECompositeElement.SVG_FECOMPOSITE_OPERATOR_LIGHTER); + assert_equals(feCompositeElement.getAttribute('operator'), "lighter"); + // Switch to 'arithmetic'. feCompositeElement.operator.baseVal = SVGFECompositeElement.SVG_FECOMPOSITE_OPERATOR_ARITHMETIC; assert_equals(feCompositeElement.operator.baseVal, SVGFECompositeElement.SVG_FECOMPOSITE_OPERATOR_ARITHMETIC); assert_equals(feCompositeElement.getAttribute('operator'), "arithmetic"); // Try setting invalid values. - assert_throws_js(TypeError, function() { feCompositeElement.operator.baseVal = 7; }); + assert_throws_js(TypeError, function() { feCompositeElement.operator.baseVal = 8; }); assert_equals(feCompositeElement.operator.baseVal, SVGFECompositeElement.SVG_FECOMPOSITE_OPERATOR_ARITHMETIC); assert_equals(feCompositeElement.getAttribute('operator'), "arithmetic"); @@ -56,10 +61,5 @@ test(function() { feCompositeElement.operator.baseVal = SVGFECompositeElement.SVG_FECOMPOSITE_OPERATOR_OVER; assert_equals(feCompositeElement.operator.baseVal, SVGFECompositeElement.SVG_FECOMPOSITE_OPERATOR_OVER); assert_equals(feCompositeElement.getAttribute('operator'), "over"); - - // Switch to 'lighter'. - assert_equals(SVGFECompositeElement.SVG_FECOMPOSITE_OPERATOR_LIGHTER, undefined); - feCompositeElement.setAttribute("operator", "lighter"); - assert_equals(feCompositeElement.operator.baseVal, SVGFECompositeElement.SVG_FECOMPOSITE_OPERATOR_UNKNOWN); }); - \ No newline at end of file + diff --git a/tests/wpt/web-platform-tests/tools/ci/azure/safari-technology-preview.rb b/tests/wpt/web-platform-tests/tools/ci/azure/safari-technology-preview.rb index c78bcef5c45..628c5f60914 100644 --- a/tests/wpt/web-platform-tests/tools/ci/azure/safari-technology-preview.rb +++ b/tests/wpt/web-platform-tests/tools/ci/azure/safari-technology-preview.rb @@ -1,10 +1,10 @@ cask "safari-technology-preview" do if MacOS.version <= :catalina - version "117,001-86197-20201209-2fd0fe89-0c37-412d-99e2-4e288519e886" - sha256 "739630b43a8f021cc246b2c8f610b759e82a6336830d34dac1f388763e7cceea" + version "118,001-92142-20210105-a1c7713a-1f38-411e-85e3-c650a62d5c06" + sha256 "8ffd7f83166106992cfc65a9760efe61578b55e1d8a1c960d56867f2048bd953" else - version "117,001-86222-20201209-8021be92-32b3-403f-b9a7-630ab8e91afb" - sha256 "2dc42342e1e3fdd95086dfbd3a8588f1e2d181fbd4f8bb279994be0c2e57ff6f" + version "118,001-92171-20210105-8d3c22a7-e518-4758-8df4-fe87c4fa078a" + sha256 "98c60037f4dace62ca78d5bc3ab6974c9ca078f60fe2a82062bbc8e3cbcfc55a" end url "https://secure-appldnld.apple.com/STP/#{version.after_comma}/SafariTechnologyPreview.dmg" diff --git a/tests/wpt/web-platform-tests/tools/manifest/log.py b/tests/wpt/web-platform-tests/tools/manifest/log.py index 9e2ad74081e..6551c2b5f7c 100644 --- a/tests/wpt/web-platform-tests/tools/manifest/log.py +++ b/tests/wpt/web-platform-tests/tools/manifest/log.py @@ -1,15 +1,10 @@ import logging -import sys logger = logging.getLogger("manifest") -def setup(): +def enable_debug_logging(): # type: () -> None logger.setLevel(logging.DEBUG) - handler = logging.StreamHandler(sys.stdout) - formatter = logging.Formatter(logging.BASIC_FORMAT, None) - handler.setFormatter(formatter) - logger.addHandler(handler) def get_logger(): # type: () -> logging.Logger diff --git a/tests/wpt/web-platform-tests/tools/manifest/manifest.py b/tests/wpt/web-platform-tests/tools/manifest/manifest.py index 14d3844d461..1b4f407b962 100644 --- a/tests/wpt/web-platform-tests/tools/manifest/manifest.py +++ b/tests/wpt/web-platform-tests/tools/manifest/manifest.py @@ -1,6 +1,7 @@ import io import itertools import os +import sys from atomicwrites import atomic_write from copy import deepcopy from multiprocessing import Pool, cpu_count @@ -173,6 +174,8 @@ class Manifest(object): constructed in the case we are not updating a path, but the absence of an item from the iterator may be used to remove defunct entries from the manifest.""" + logger = get_logger() + changed = False # Create local variable references to these dicts so we avoid the @@ -221,20 +224,33 @@ class Manifest(object): to_update.append(source_file) if to_update: + logger.debug("Computing manifest update for %s items" % len(to_update)) changed = True + + # 25 items was derived experimentally (2020-01) to be approximately the + # point at which it is quicker to create a Pool and parallelize update. if parallel and len(to_update) > 25 and cpu_count() > 1: - # 25 derived experimentally (2020-01) to be approximately - # the point at which it is quicker to create Pool and - # parallelize this - pool = Pool() + # On Python 3 on Windows, using >= MAXIMUM_WAIT_OBJECTS processes + # causes a crash in the multiprocessing module. Whilst this enum + # can technically have any value, it is usually 64. For safety, + # restrict manifest regeneration to 48 processes on Windows. + # + # See https://bugs.python.org/issue26903 and https://bugs.python.org/issue40263 + processes = cpu_count() + if sys.platform == "win32" and processes > 48: + processes = 48 + pool = Pool(processes) # chunksize set > 1 when more than 10000 tests, because # chunking is a net-gain once we get to very large numbers # of items (again, experimentally, 2020-01) + chunksize = max(1, len(to_update) // 10000) + logger.debug("Doing a multiprocessed update. CPU count: %s, " + "processes: %s, chunksize: %s" % (cpu_count(), processes, chunksize)) results = pool.imap_unordered(compute_manifest_items, to_update, - chunksize=max(1, len(to_update) // 10000) + chunksize=chunksize ) # type: Iterator[Tuple[Tuple[Text, ...], Text, Set[ManifestItem], Text]] elif PY3: results = map(compute_manifest_items, to_update) @@ -444,6 +460,7 @@ def _load_and_update(tests_root, # type: Text update = True if rebuild or update: + logger.info("Updating manifest") for retry in range(2): try: tree = vcs.get_tree(tests_root, manifest, manifest_path, cache_root, diff --git a/tests/wpt/web-platform-tests/tools/manifest/update.py b/tests/wpt/web-platform-tests/tools/manifest/update.py index 296533a6bab..a86ef7c8aa2 100755 --- a/tests/wpt/web-platform-tests/tools/manifest/update.py +++ b/tests/wpt/web-platform-tests/tools/manifest/update.py @@ -4,7 +4,7 @@ import os from . import manifest from . import vcs -from .log import get_logger +from .log import get_logger, enable_debug_logging from .download import download_from_github here = os.path.dirname(__file__) @@ -64,6 +64,9 @@ def abs_path(path): def create_parser(): # type: () -> argparse.ArgumentParser parser = argparse.ArgumentParser() + parser.add_argument( + "-v", "--verbose", dest="verbose", action="store_true", default=False, + help="Turn on verbose logging") parser.add_argument( "-p", "--path", type=abs_path, help="Path to manifest file.") parser.add_argument( @@ -90,6 +93,8 @@ def run(*args, **kwargs): # type: (*Any, **Any) -> None if kwargs["path"] is None: kwargs["path"] = os.path.join(kwargs["tests_root"], "MANIFEST.json") + if kwargs["verbose"]: + enable_debug_logging() update_from_cli(**kwargs) diff --git a/tests/wpt/web-platform-tests/xhr/event-timeout.any.js b/tests/wpt/web-platform-tests/xhr/event-timeout.any.js index da8ca11bb8e..c73cd1a4854 100644 --- a/tests/wpt/web-platform-tests/xhr/event-timeout.any.js +++ b/tests/wpt/web-platform-tests/xhr/event-timeout.any.js @@ -14,5 +14,5 @@ test.step(function () { client.send(null); test.step_timeout(() => { assert_unreached("ontimeout not called."); - }, 10); + }, 1000); });