From e5c0a0cc08f3fd2f94b298bdf9ec6bcf32bfc2d9 Mon Sep 17 00:00:00 2001 From: WPT Sync Bot Date: Fri, 9 Oct 2020 08:21:13 +0000 Subject: [PATCH] Update web-platform-tests to revision 00397ad68f593288bd56a98fc980485fd87d42a9 --- .../url/url-in-tags-revoke.window.js.ini | 2 +- .../CSS2/floats/hit-test-floats-002.html.ini | 4 + .../text-underline-offset-negative.html.ini | 2 + .../transform-scale-hittest.html.ini | 3 - .../css/cssom-view/CaretPosition-001.html.ini | 4 - .../cssom-view/elementFromPoint-001.html.ini | 4 + .../cssom-view/elementFromPosition.html.ini | 3 + .../elementsFromPoint-invalid-cases.html.ini | 4 + .../matchMedia-display-none-iframe.html.ini | 2 - .../mq-dynamic-empty-children.html.ini | 4 + .../reactions/HTMLMediaElement.html.ini | 2 + .../fetch/content-type/response.window.js.ini | 20 +- .../fetch/content-type/script.window.js.ini | 3 + .../nosniff/parsing-nosniff.window.js.ini | 5 +- .../traverse_the_history_1.html.ini | 4 - .../traverse_the_history_2.html.ini | 4 - ...ross-origin-objects-on-new-window.html.ini | 2 - .../embedded-opener-remove-frame.html.ini | 1 - .../supported-elements.html.ini | 3 +- .../hash-name-reference.html.ini | 3 + .../iframe_sandbox_popups_escaping-1.html.ini | 2 +- .../iframe_sandbox_popups_escaping-2.html.ini | 2 +- .../iframe_sandbox_popups_escaping-3.html.ini | 1 + ...rame_sandbox_popups_nonescaping-1.html.ini | 4 +- .../non-active-document.html.ini | 10 + .../hidden-charset-case-sensitive.html.ini | 4 + .../script-onerror-insertion-point-2.html.ini | 2 + .../ignore-opens-during-unload.window.js.ini | 2 +- .../url/a-element-xhtml.xhtml.ini | 6 + .../url/a-element.html.ini | 6 + .../url/url-constructor.html.ini | 6 + .../realtimeanalyser-fft-scaling.html.ini | 1 - .../audiocontext-not-fully-active.html.ini | 1 + .../webmessaging/with-ports/017.html.ini | 5 + .../alpha/import-in-moduleworker.html.ini | 1 + .../Worker/Worker-constructor.html.ini | 2 + .../url/url-in-tags-revoke.window.js.ini | 2 +- tests/wpt/metadata/MANIFEST.json | 215 ++++++++++------ .../CSS2/floats/hit-test-floats-002.html.ini | 4 + .../text-underline-offset-negative.html.ini | 2 + .../transform-scale-hittest.html.ini | 3 - .../css/cssom-view/CaretPosition-001.html.ini | 4 - .../cssom-view/elementFromPoint-001.html.ini | 4 + .../cssom-view/elementFromPosition.html.ini | 3 + .../elementsFromPoint-invalid-cases.html.ini | 4 + .../matchMedia-display-none-iframe.html.ini | 2 - .../mq-dynamic-empty-children.html.ini | 4 + .../reactions/HTMLMediaElement.html.ini | 2 + .../fetch/content-type/response.window.js.ini | 20 +- .../fetch/content-type/script.window.js.ini | 3 + .../nosniff/parsing-nosniff.window.js.ini | 5 +- .../traverse_the_history_1.html.ini | 4 - .../traverse_the_history_2.html.ini | 4 - ...ross-origin-objects-on-new-window.html.ini | 2 - .../embedded-opener-remove-frame.html.ini | 1 - .../supported-elements.html.ini | 3 +- .../hash-name-reference.html.ini | 3 + .../iframe_sandbox_popups_escaping-1.html.ini | 2 +- .../iframe_sandbox_popups_escaping-2.html.ini | 2 +- .../iframe_sandbox_popups_escaping-3.html.ini | 1 + ...rame_sandbox_popups_nonescaping-1.html.ini | 4 +- .../non-active-document.html.ini | 6 + .../hidden-charset-case-sensitive.html.ini | 4 + .../script-onerror-insertion-point-2.html.ini | 2 + .../ignore-opens-during-unload.window.js.ini | 2 +- .../metadata/url/a-element-xhtml.xhtml.ini | 6 + tests/wpt/metadata/url/a-element.html.ini | 6 + .../wpt/metadata/url/url-constructor.html.ini | 6 + .../realtimeanalyser-fft-scaling.html.ini | 1 - .../audiocontext-not-fully-active.html.ini | 1 + .../webmessaging/with-ports/017.html.ini | 5 + .../alpha/import-in-moduleworker.html.ini | 1 + .../Worker/Worker-constructor.html.ini | 2 + ...m-specific-write-read.tentative.https.html | 2 +- .../async-raw-write-read.tentative.https.html | 2 +- ...text-underline-offset-negative-notref.html | 10 + .../text-underline-offset-negative.html | 15 ++ .../mq-dynamic-empty-children.html | 40 +++ .../contain-size-select-elem-005-ref.html | 4 + .../contain/contain-size-select-elem-005.html | 4 + .../hidden-charset-case-sensitive.html | 8 +- .../server/http2-context.sub.h2.any.js.ini | 14 +- .../server/wpt-server-http.sub.html.ini | 25 -- .../penPointerEventProperties.html.ini | 3 + .../actions/penPointerEventProperties.html | 85 +++++++ .../interfaces/presentation-api.idl | 12 +- .../interfaces/sanitizer-api.tentative.idl | 2 - .../interfaces/screen-wake-lock.idl | 2 +- .../web-platform-tests/interfaces/webmidi.idl | 4 +- .../web-platform-tests/interfaces/webrtc.idl | 2 +- tests/wpt/web-platform-tests/lint.ignore | 1 + .../wakelock-type.https.any.js | 19 -- .../wakelock-type.https.window.js | 21 ++ .../streams/transferable/resources/helpers.js | 233 +++++++++--------- .../tools/requirements_flake8.txt | 2 +- .../web-platform-tests/tools/serve/serve.py | 2 +- .../tests/functional/test_handlers.py | 22 +- .../tests/functional/test_response.py | 24 +- .../tools/wptserve/wptserve/response.py | 20 +- .../tools/wptserve/wptserve/server.py | 4 +- .../tools/wptserve/wptserve/utils.py | 7 +- .../url/resources/urltestdata.json | 31 ++- .../resources/generate-test-wbns.sh | 23 +- .../path-restriction/other/resource.js | 1 + .../resources/path-restriction/resource.js | 1 + .../path-restriction/wbn-resource.js | 1 + .../path-restriction/wbn/resource.js | 1 + .../path-restriction/wbn/sub/resource.js | 1 + .../path-restriction/wbn1/resource.js | 1 + .../{ => wbn}/dynamic/__dir__.headers | 0 .../{ => wbn}/dynamic/classic_script.js | 0 .../resources/{ => wbn}/dynamic/resource1.js | 0 .../resources/{ => wbn}/dynamic/resource2.js | 0 .../resources/{ => wbn}/dynamic/resource3.js | 0 .../resources/{ => wbn}/dynamic/resource4.js | 0 .../resources/wbn/dynamic1-crossorigin.wbn | Bin 1487 -> 1511 bytes .../web-bundle/resources/wbn/dynamic1.wbn | Bin 1481 -> 1505 bytes .../web-bundle/resources/wbn/dynamic2.wbn | Bin 1481 -> 1505 bytes .../web-bundle/resources/wbn/location.wbn | Bin 663 -> 663 bytes .../resources/wbn/path-restriction.wbn | Bin 0 -> 1653 bytes .../web-bundle/resources/wbn/subresource.wbn | Bin 517 -> 592 bytes ...rce-loading-from-web-bundle.tentative.html | 31 +-- ...ce-loading-path-restriction.tentative.html | 45 ++++ 123 files changed, 814 insertions(+), 390 deletions(-) create mode 100644 tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-002.html.ini create mode 100644 tests/wpt/metadata-layout-2020/css/css-text-decor/text-underline-offset-negative.html.ini delete mode 100644 tests/wpt/metadata-layout-2020/css/cssom-view/CaretPosition-001.html.ini create mode 100644 tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-001.html.ini create mode 100644 tests/wpt/metadata-layout-2020/css/cssom-view/elementsFromPoint-invalid-cases.html.ini delete mode 100644 tests/wpt/metadata-layout-2020/css/cssom-view/matchMedia-display-none-iframe.html.ini create mode 100644 tests/wpt/metadata-layout-2020/css/mediaqueries/mq-dynamic-empty-children.html.ini create mode 100644 tests/wpt/metadata-layout-2020/custom-elements/reactions/HTMLMediaElement.html.ini delete mode 100644 tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini delete mode 100644 tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini delete mode 100644 tests/wpt/metadata-layout-2020/html/browsers/origin/cross-origin-objects/cross-origin-objects-on-new-window.html.ini create mode 100644 tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-img-element/non-active-document.html.ini create mode 100644 tests/wpt/metadata-layout-2020/html/semantics/forms/the-input-element/hidden-charset-case-sensitive.html.ini create mode 100644 tests/wpt/metadata-layout-2020/html/semantics/scripting-1/the-script-element/script-onerror-insertion-point-2.html.ini create mode 100644 tests/wpt/metadata-layout-2020/webmessaging/with-ports/017.html.ini create mode 100644 tests/wpt/metadata-layout-2020/workers/constructors/Worker/Worker-constructor.html.ini create mode 100644 tests/wpt/metadata/css/CSS2/floats/hit-test-floats-002.html.ini create mode 100644 tests/wpt/metadata/css/css-text-decor/text-underline-offset-negative.html.ini delete mode 100644 tests/wpt/metadata/css/cssom-view/CaretPosition-001.html.ini create mode 100644 tests/wpt/metadata/css/cssom-view/elementFromPoint-001.html.ini create mode 100644 tests/wpt/metadata/css/cssom-view/elementsFromPoint-invalid-cases.html.ini delete mode 100644 tests/wpt/metadata/css/cssom-view/matchMedia-display-none-iframe.html.ini create mode 100644 tests/wpt/metadata/css/mediaqueries/mq-dynamic-empty-children.html.ini create mode 100644 tests/wpt/metadata/custom-elements/reactions/HTMLMediaElement.html.ini delete mode 100644 tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini delete mode 100644 tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini delete mode 100644 tests/wpt/metadata/html/browsers/origin/cross-origin-objects/cross-origin-objects-on-new-window.html.ini create mode 100644 tests/wpt/metadata/html/semantics/forms/the-input-element/hidden-charset-case-sensitive.html.ini create mode 100644 tests/wpt/metadata/html/semantics/scripting-1/the-script-element/script-onerror-insertion-point-2.html.ini create mode 100644 tests/wpt/metadata/webmessaging/with-ports/017.html.ini create mode 100644 tests/wpt/metadata/workers/constructors/Worker/Worker-constructor.html.ini create mode 100644 tests/wpt/web-platform-tests/css/css-text-decor/reference/text-underline-offset-negative-notref.html create mode 100644 tests/wpt/web-platform-tests/css/css-text-decor/text-underline-offset-negative.html create mode 100644 tests/wpt/web-platform-tests/css/mediaqueries/mq-dynamic-empty-children.html create mode 100644 tests/wpt/web-platform-tests/infrastructure/metadata/infrastructure/testdriver/actions/penPointerEventProperties.html.ini create mode 100644 tests/wpt/web-platform-tests/infrastructure/testdriver/actions/penPointerEventProperties.html delete mode 100644 tests/wpt/web-platform-tests/screen-wake-lock/wakelock-type.https.any.js create mode 100644 tests/wpt/web-platform-tests/screen-wake-lock/wakelock-type.https.window.js create mode 100644 tests/wpt/web-platform-tests/web-bundle/resources/path-restriction/other/resource.js create mode 100644 tests/wpt/web-platform-tests/web-bundle/resources/path-restriction/resource.js create mode 100644 tests/wpt/web-platform-tests/web-bundle/resources/path-restriction/wbn-resource.js create mode 100644 tests/wpt/web-platform-tests/web-bundle/resources/path-restriction/wbn/resource.js create mode 100644 tests/wpt/web-platform-tests/web-bundle/resources/path-restriction/wbn/sub/resource.js create mode 100644 tests/wpt/web-platform-tests/web-bundle/resources/path-restriction/wbn1/resource.js rename tests/wpt/web-platform-tests/web-bundle/resources/{ => wbn}/dynamic/__dir__.headers (100%) rename tests/wpt/web-platform-tests/web-bundle/resources/{ => wbn}/dynamic/classic_script.js (100%) rename tests/wpt/web-platform-tests/web-bundle/resources/{ => wbn}/dynamic/resource1.js (100%) rename tests/wpt/web-platform-tests/web-bundle/resources/{ => wbn}/dynamic/resource2.js (100%) rename tests/wpt/web-platform-tests/web-bundle/resources/{ => wbn}/dynamic/resource3.js (100%) rename tests/wpt/web-platform-tests/web-bundle/resources/{ => wbn}/dynamic/resource4.js (100%) create mode 100644 tests/wpt/web-platform-tests/web-bundle/resources/wbn/path-restriction.wbn create mode 100644 tests/wpt/web-platform-tests/web-bundle/subresource-loading/subresource-loading-path-restriction.tentative.html diff --git a/tests/wpt/metadata-layout-2020/FileAPI/url/url-in-tags-revoke.window.js.ini b/tests/wpt/metadata-layout-2020/FileAPI/url/url-in-tags-revoke.window.js.ini index 76b44d9e9cf..3605e8f3fc9 100644 --- a/tests/wpt/metadata-layout-2020/FileAPI/url/url-in-tags-revoke.window.js.ini +++ b/tests/wpt/metadata-layout-2020/FileAPI/url/url-in-tags-revoke.window.js.ini @@ -4,7 +4,7 @@ expected: TIMEOUT [Opening a blob URL in a new window immediately before revoking it works.] - expected: FAIL + expected: TIMEOUT [Fetching a blob URL immediately before revoking it works in an iframe.] expected: FAIL 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/css-text-decor/text-underline-offset-negative.html.ini b/tests/wpt/metadata-layout-2020/css/css-text-decor/text-underline-offset-negative.html.ini new file mode 100644 index 00000000000..ae35a9c818d --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-text-decor/text-underline-offset-negative.html.ini @@ -0,0 +1,2 @@ +[text-underline-offset-negative.html] + 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/css/cssom-view/CaretPosition-001.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/CaretPosition-001.html.ini deleted file mode 100644 index 4c79907309b..00000000000 --- a/tests/wpt/metadata-layout-2020/css/cssom-view/CaretPosition-001.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[CaretPosition-001.html] - [Element at (400, 100)] - expected: FAIL - diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-001.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-001.html.ini new file mode 100644 index 00000000000..e38782d8c85 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-001.html.ini @@ -0,0 +1,4 @@ +[elementFromPoint-001.html] + [CSSOM View - 5 - extensions to the Document interface] + 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 c131078eace..23c61ede1a1 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,3 +17,6 @@ [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-invalid-cases.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/elementsFromPoint-invalid-cases.html.ini new file mode 100644 index 00000000000..e181af5397f --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/cssom-view/elementsFromPoint-invalid-cases.html.ini @@ -0,0 +1,4 @@ +[elementsFromPoint-invalid-cases.html] + [The root element is the last element returned for otherwise empty queries within the viewport] + expected: FAIL + diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/matchMedia-display-none-iframe.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/matchMedia-display-none-iframe.html.ini deleted file mode 100644 index e6e1f29e274..00000000000 --- a/tests/wpt/metadata-layout-2020/css/cssom-view/matchMedia-display-none-iframe.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[matchMedia-display-none-iframe.html] - expected: ERROR diff --git a/tests/wpt/metadata-layout-2020/css/mediaqueries/mq-dynamic-empty-children.html.ini b/tests/wpt/metadata-layout-2020/css/mediaqueries/mq-dynamic-empty-children.html.ini new file mode 100644 index 00000000000..164280876e2 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/mediaqueries/mq-dynamic-empty-children.html.ini @@ -0,0 +1,4 @@ +[mq-dynamic-empty-children.html] + [Dynamic evaluation of media queries works fine in presence of empty media rule] + expected: FAIL + diff --git a/tests/wpt/metadata-layout-2020/custom-elements/reactions/HTMLMediaElement.html.ini b/tests/wpt/metadata-layout-2020/custom-elements/reactions/HTMLMediaElement.html.ini new file mode 100644 index 00000000000..2ca05f57bb0 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/custom-elements/reactions/HTMLMediaElement.html.ini @@ -0,0 +1,2 @@ +[HTMLMediaElement.html] + expected: TIMEOUT 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 03edd399d2b..5037211c099 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,15 +312,6 @@ [Response: combined response Content-Type: text/html;" \\" text/plain ";charset=GBK] expected: NOTRUN - [ + diff --git a/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-size-select-elem-005-ref.html b/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-size-select-elem-005-ref.html index 894631d24a0..e14152d6338 100644 --- a/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-size-select-elem-005-ref.html +++ b/tests/wpt/web-platform-tests/css/vendor-imports/mozilla/mozilla-central-reftests/contain/contain-size-select-elem-005-ref.html @@ -7,6 +7,10 @@ + +
+
+ + diff --git a/tests/wpt/web-platform-tests/interfaces/presentation-api.idl b/tests/wpt/web-platform-tests/interfaces/presentation-api.idl index 0757e9b8bf2..4f1e4bee835 100644 --- a/tests/wpt/web-platform-tests/interfaces/presentation-api.idl +++ b/tests/wpt/web-platform-tests/interfaces/presentation-api.idl @@ -54,8 +54,8 @@ interface PresentationConnection : EventTarget { readonly attribute USVString id; readonly attribute USVString url; readonly attribute PresentationConnectionState state; - void close(); - void terminate(); + undefined close(); + undefined terminate(); attribute EventHandler onconnect; attribute EventHandler onclose; attribute EventHandler onterminate; @@ -63,10 +63,10 @@ interface PresentationConnection : EventTarget { // Communication attribute BinaryType binaryType; attribute EventHandler onmessage; - void send (DOMString message); - void send (Blob data); - void send (ArrayBuffer data); - void send (ArrayBufferView data); + undefined send (DOMString message); + undefined send (Blob data); + undefined send (ArrayBuffer data); + undefined send (ArrayBufferView data); }; enum PresentationConnectionCloseReason { "error", "closed", "wentaway" }; diff --git a/tests/wpt/web-platform-tests/interfaces/sanitizer-api.tentative.idl b/tests/wpt/web-platform-tests/interfaces/sanitizer-api.tentative.idl index 27e4ecf26c3..11653d1a186 100644 --- a/tests/wpt/web-platform-tests/interfaces/sanitizer-api.tentative.idl +++ b/tests/wpt/web-platform-tests/interfaces/sanitizer-api.tentative.idl @@ -6,8 +6,6 @@ constructor(optional SanitizerConfig sanitizerConfig = {}); DocumentFragment sanitize(DOMString input); DOMString sanitizeToString(DOMString input); - - readonly attribute SanitizerConfig creationOptions; }; dictionary SanitizerConfig { diff --git a/tests/wpt/web-platform-tests/interfaces/screen-wake-lock.idl b/tests/wpt/web-platform-tests/interfaces/screen-wake-lock.idl index 56bc8f43e4d..c9d259ebcc4 100644 --- a/tests/wpt/web-platform-tests/interfaces/screen-wake-lock.idl +++ b/tests/wpt/web-platform-tests/interfaces/screen-wake-lock.idl @@ -10,7 +10,7 @@ partial interface Navigator { [SecureContext, Exposed=(Window)] interface WakeLock { - Promise request(WakeLockType type); + Promise request(optional WakeLockType type = "screen"); }; [SecureContext, Exposed=(Window)] diff --git a/tests/wpt/web-platform-tests/interfaces/webmidi.idl b/tests/wpt/web-platform-tests/interfaces/webmidi.idl index cf08897e99e..89847c3d459 100644 --- a/tests/wpt/web-platform-tests/interfaces/webmidi.idl +++ b/tests/wpt/web-platform-tests/interfaces/webmidi.idl @@ -46,8 +46,8 @@ dictionary MIDIOptions { }; [SecureContext, Exposed=Window] interface MIDIOutput : MIDIPort { - void send(sequence data, optional DOMHighResTimeStamp timestamp = 0); - void clear(); + undefined send(sequence data, optional DOMHighResTimeStamp timestamp = 0); + undefined clear(); }; enum MIDIPortType { diff --git a/tests/wpt/web-platform-tests/interfaces/webrtc.idl b/tests/wpt/web-platform-tests/interfaces/webrtc.idl index 9c438f31093..d82cde768f7 100644 --- a/tests/wpt/web-platform-tests/interfaces/webrtc.idl +++ b/tests/wpt/web-platform-tests/interfaces/webrtc.idl @@ -1,7 +1,7 @@ // GENERATED CONTENT - DO NOT EDIT // Content was automatically extracted by Reffy into webref // (https://github.com/w3c/webref) -// Source: WebRTC 1.0: Real-time Communication Between Browsers (https://w3c.github.io/webrtc-pc/) +// Source: WebRTC 1.0: Real-Time Communication Between Browsers (https://w3c.github.io/webrtc-pc/) dictionary RTCConfiguration { sequence iceServers; diff --git a/tests/wpt/web-platform-tests/lint.ignore b/tests/wpt/web-platform-tests/lint.ignore index 8431077e6a6..5bcb811df36 100644 --- a/tests/wpt/web-platform-tests/lint.ignore +++ b/tests/wpt/web-platform-tests/lint.ignore @@ -705,6 +705,7 @@ WEB-PLATFORM.TEST:signed-exchange/resources/generate-test-sxgs.sh WEB-PLATFORM.TEST:web-bundle/resources/generate-test-wbns.sh WEB-PLATFORM.TEST:web-bundle/resources/wbn/*.wbn WEB-PLATFORM.TEST:web-bundle/subresource-loading/subresource-loading-from-web-bundle.tentative.html +WEB-PLATFORM.TEST:web-bundle/subresource-loading/subresource-loading-path-restriction.tentative.html # Tests that depend on resources in /gen/ in Chromium: # https://github.com/web-platform-tests/wpt/issues/16455 diff --git a/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-type.https.any.js b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-type.https.any.js deleted file mode 100644 index 3a1d8c465c7..00000000000 --- a/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-type.https.any.js +++ /dev/null @@ -1,19 +0,0 @@ -//META: title=navigator.wakeLock.request() with invalid type - -promise_test(async t => { - return promise_rejects_js(t, TypeError, navigator.wakeLock.request()); -}, "'TypeError' is thrown when set an empty wake lock type"); - -promise_test(t => { - const invalidTypes = [ - "invalid", - null, - 123, - {}, - "", - true - ]; - return Promise.all(invalidTypes.map(invalidType => { - return promise_rejects_js(t, TypeError, navigator.wakeLock.request(invalidType)); - })); -}, "'TypeError' is thrown when set an invalid wake lock type"); diff --git a/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-type.https.window.js b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-type.https.window.js new file mode 100644 index 00000000000..67e935be8e1 --- /dev/null +++ b/tests/wpt/web-platform-tests/screen-wake-lock/wakelock-type.https.window.js @@ -0,0 +1,21 @@ +// META: script=/resources/testdriver.js +// META: script=/resources/testdriver-vendor.js + +promise_test(async t => { + await test_driver.set_permission( + {name: 'screen-wake-lock'}, 'granted', false); + + const lock = await navigator.wakeLock.request(); + t.add_cleanup(() => { + lock.release(); + }); + assert_equals(lock.type, 'screen'); +}, '\'type\' parameter in WakeLock.request() defaults to \'screen\''); + +promise_test(t => { + const invalidTypes = ['invalid', null, 123, {}, '', true]; + return Promise.all(invalidTypes.map(invalidType => { + return promise_rejects_js( + t, TypeError, navigator.wakeLock.request(invalidType)); + })); +}, '\'TypeError\' is thrown when set an invalid wake lock type'); diff --git a/tests/wpt/web-platform-tests/streams/transferable/resources/helpers.js b/tests/wpt/web-platform-tests/streams/transferable/resources/helpers.js index 05d481f277a..12504537f91 100644 --- a/tests/wpt/web-platform-tests/streams/transferable/resources/helpers.js +++ b/tests/wpt/web-platform-tests/streams/transferable/resources/helpers.js @@ -1,121 +1,132 @@ 'use strict'; -// Create a ReadableStream that will pass the tests in -// testTransferredReadableStream(), below. -function createOriginalReadableStream() { - return new ReadableStream({ - start(controller) { - controller.enqueue('a'); - controller.close(); - } - }); -} - -// Common tests to roughly determine that |rs| is a correctly transferred -// version of a stream created by createOriginalReadableStream(). -function testTransferredReadableStream(rs) { - assert_equals(rs.constructor, ReadableStream, - 'rs should be a ReadableStream in this realm'); - assert_true(rs instanceof ReadableStream, - 'instanceof check should pass'); - - // Perform a brand-check on |rs| in the process of calling getReader(). - const reader = ReadableStream.prototype.getReader.call(rs); - - return reader.read().then(({value, done}) => { - assert_false(done, 'done should be false'); - assert_equals(value, 'a', 'value should be "a"'); - return reader.read(); - }).then(({done}) => { - assert_true(done, 'done should be true'); - }); -} - -function testMessage(msg) { - assert_array_equals(msg.ports, [], 'there should be no ports in the event'); - return testTransferredReadableStream(msg.data); -} - -function testMessageEvent(target) { - return new Promise((resolve, reject) => { - target.addEventListener('message', ev => { - try { - resolve(testMessage(ev)); - } catch (e) { - reject(e); +(() => { + // Create a ReadableStream that will pass the tests in + // testTransferredReadableStream(), below. + function createOriginalReadableStream() { + return new ReadableStream({ + start(controller) { + controller.enqueue('a'); + controller.close(); } - }, {once: true}); - }); -} + }); + } -function testMessageEventOrErrorMessage(target) { - return new Promise((resolve, reject) => { - target.addEventListener('message', ev => { - if (typeof ev.data === 'string') { - // Assume it's an error message and reject with it. - reject(ev.data); - return; - } + // Common tests to roughly determine that |rs| is a correctly transferred + // version of a stream created by createOriginalReadableStream(). + function testTransferredReadableStream(rs) { + assert_equals(rs.constructor, ReadableStream, + 'rs should be a ReadableStream in this realm'); + assert_true(rs instanceof ReadableStream, + 'instanceof check should pass'); - try { - resolve(testMessage(ev)); - } catch (e) { - reject(e); - } - }, {once: true}); - }); -} + // Perform a brand-check on |rs| in the process of calling getReader(). + const reader = ReadableStream.prototype.getReader.call(rs); -function checkTestResults(target) { - return new Promise((resolve, reject) => { - target.onmessage = msg => { - // testharness.js sends us objects which we need to ignore. - if (typeof msg.data !== 'string') + return reader.read().then(({value, done}) => { + assert_false(done, 'done should be false'); + assert_equals(value, 'a', 'value should be "a"'); + return reader.read(); + }).then(({done}) => { + assert_true(done, 'done should be true'); + }); + } + + function testMessage(msg) { + assert_array_equals(msg.ports, [], 'there should be no ports in the event'); + return testTransferredReadableStream(msg.data); + } + + function testMessageEvent(target) { + return new Promise((resolve, reject) => { + target.addEventListener('message', ev => { + try { + resolve(testMessage(ev)); + } catch (e) { + reject(e); + } + }, {once: true}); + }); + } + + function testMessageEventOrErrorMessage(target) { + return new Promise((resolve, reject) => { + target.addEventListener('message', ev => { + if (typeof ev.data === 'string') { + // Assume it's an error message and reject with it. + reject(ev.data); + return; + } + + try { + resolve(testMessage(ev)); + } catch (e) { + reject(e); + } + }, {once: true}); + }); + } + + function checkTestResults(target) { + return new Promise((resolve, reject) => { + target.onmessage = msg => { + // testharness.js sends us objects which we need to ignore. + if (typeof msg.data !== 'string') return; - if (msg.data === 'OK') { - resolve(); - } else { - reject(msg.data); - } - }; - }); -} + if (msg.data === 'OK') { + resolve(); + } else { + reject(msg.data); + } + }; + }); + } -// These tests assume that a transferred ReadableStream will behave the same -// regardless of how it was transferred. This enables us to simply transfer the -// stream to ourselves. -function createTransferredReadableStream(underlyingSource) { - const original = new ReadableStream(underlyingSource); - const promise = new Promise((resolve, reject) => { - addEventListener('message', msg => { - const rs = msg.data; - if (rs instanceof ReadableStream) { - resolve(rs); - } else { - reject(new Error(`what is this thing: "${rs}"?`)); - } - }, {once: true}); - }); - postMessage(original, '*', [original]); - return promise; -} + // These tests assume that a transferred ReadableStream will behave the same + // regardless of how it was transferred. This enables us to simply transfer the + // stream to ourselves. + function createTransferredReadableStream(underlyingSource) { + const original = new ReadableStream(underlyingSource); + const promise = new Promise((resolve, reject) => { + addEventListener('message', msg => { + const rs = msg.data; + if (rs instanceof ReadableStream) { + resolve(rs); + } else { + reject(new Error(`what is this thing: "${rs}"?`)); + } + }, {once: true}); + }); + postMessage(original, '*', [original]); + return promise; + } -function recordingTransferredReadableStream(underlyingSource, strategy) { - const original = recordingReadableStream(underlyingSource, strategy); - const promise = new Promise((resolve, reject) => { - addEventListener('message', msg => { - const rs = msg.data; - if (rs instanceof ReadableStream) { - rs.events = original.events; - rs.eventsWithoutPulls = original.eventsWithoutPulls; - rs.controller = original.controller; - resolve(rs); - } else { - reject(new Error(`what is this thing: "${rs}"?`)); - } - }, {once: true}); - }); - postMessage(original, '*', [original]); - return promise; -} + function recordingTransferredReadableStream(underlyingSource, strategy) { + const original = recordingReadableStream(underlyingSource, strategy); + const promise = new Promise((resolve, reject) => { + addEventListener('message', msg => { + const rs = msg.data; + if (rs instanceof ReadableStream) { + rs.events = original.events; + rs.eventsWithoutPulls = original.eventsWithoutPulls; + rs.controller = original.controller; + resolve(rs); + } else { + reject(new Error(`what is this thing: "${rs}"?`)); + } + }, {once: true}); + }); + postMessage(original, '*', [original]); + return promise; + } + + self.createOriginalReadableStream = createOriginalReadableStream; + self.testMessage = testMessage; + self.testMessageEvent = testMessageEvent; + self.testMessageEventOrErrorMessage = testMessageEventOrErrorMessage; + self.checkTestResults = checkTestResults; + self.createTransferredReadableStream = createTransferredReadableStream; + self.recordingTransferredReadableStream = recordingTransferredReadableStream; + +})(); diff --git a/tests/wpt/web-platform-tests/tools/requirements_flake8.txt b/tests/wpt/web-platform-tests/tools/requirements_flake8.txt index f97916e03e9..cd7466bf159 100644 --- a/tests/wpt/web-platform-tests/tools/requirements_flake8.txt +++ b/tests/wpt/web-platform-tests/tools/requirements_flake8.txt @@ -1,4 +1,4 @@ -flake8==3.8.3 +flake8==3.8.4 pycodestyle==2.6.0 pyflakes==2.2.0 pep8-naming==0.11.1 diff --git a/tests/wpt/web-platform-tests/tools/serve/serve.py b/tests/wpt/web-platform-tests/tools/serve/serve.py index b1b9e931317..3a1c782794a 100644 --- a/tests/wpt/web-platform-tests/tools/serve/serve.py +++ b/tests/wpt/web-platform-tests/tools/serve/serve.py @@ -538,7 +538,7 @@ def start_servers(host, ports, paths, routes, bind_address, config, **kwargs): # If trying to start HTTP/2.0 server, check compatibility if scheme == 'h2' and not http2_compatible(): logger.error('Cannot start HTTP/2.0 server as the environment is not compatible. ' + - 'Requires Python 2.7.10+ (< 3.0) and OpenSSL 1.0.2+') + 'Requires Python 2.7.10+ or 3.6+ and OpenSSL 1.0.2+') continue for port in ports: diff --git a/tests/wpt/web-platform-tests/tools/wptserve/tests/functional/test_handlers.py b/tests/wpt/web-platform-tests/tools/wptserve/tests/functional/test_handlers.py index 7866e641e6a..8c0e020f414 100644 --- a/tests/wpt/web-platform-tests/tools/wptserve/tests/functional/test_handlers.py +++ b/tests/wpt/web-platform-tests/tools/wptserve/tests/functional/test_handlers.py @@ -321,16 +321,16 @@ class TestH2Handler(TestUsingH2Server): resp = self.conn.get_response() assert resp.status == 203 - assert resp.headers['test'][0] == 'passed' - assert resp.read() == '' + assert resp.headers['test'][0] == b'passed' + assert resp.read() == b'' def test_only_main(self): self.conn.request("GET", '/test_tuple_3.py') resp = self.conn.get_response() assert resp.status == 202 - assert resp.headers['Content-Type'][0] == 'text/html' - assert resp.headers['X-Test'][0] == 'PASS' + assert resp.headers['Content-Type'][0] == b'text/html' + assert resp.headers['X-Test'][0] == b'PASS' assert resp.read() == b'PASS' def test_handle_data(self): @@ -345,7 +345,7 @@ class TestH2Handler(TestUsingH2Server): resp = self.conn.get_response() assert resp.status == 203 - assert resp.headers['test'][0] == 'passed' + assert resp.headers['test'][0] == b'passed' assert resp.read() == b'!dlrow olleh' def test_no_main_or_handlers(self): @@ -367,16 +367,16 @@ class TestH2Handler(TestUsingH2Server): resp = self.conn.get_response() assert resp.status == 203 - assert resp.headers['test'][0] == 'passed' - assert resp.read() == '' + assert resp.headers['test'][0] == b'passed' + assert resp.read() == b'' # 2nd .py resource self.conn.request("GET", '/test_tuple_3.py') resp = self.conn.get_response() assert resp.status == 202 - assert resp.headers['Content-Type'][0] == 'text/html' - assert resp.headers['X-Test'][0] == 'PASS' + assert resp.headers['Content-Type'][0] == b'text/html' + assert resp.headers['X-Test'][0] == b'PASS' assert resp.read() == b'PASS' # 3rd .py resource @@ -384,8 +384,8 @@ class TestH2Handler(TestUsingH2Server): resp = self.conn.get_response() assert resp.status == 203 - assert resp.headers['test'][0] == 'passed' - assert resp.read() == '' + assert resp.headers['test'][0] == b'passed' + assert resp.read() == b'' class TestWorkersHandler(TestWrapperHandlerUsingServer): diff --git a/tests/wpt/web-platform-tests/tools/wptserve/tests/functional/test_response.py b/tests/wpt/web-platform-tests/tools/wptserve/tests/functional/test_response.py index 6e947e478d9..cc740bb99df 100644 --- a/tests/wpt/web-platform-tests/tools/wptserve/tests/functional/test_response.py +++ b/tests/wpt/web-platform-tests/tools/wptserve/tests/functional/test_response.py @@ -206,7 +206,7 @@ class TestH2Response(TestUsingH2Server): resp = self.conn.get_response() assert resp.status == 202 - assert [x for x in resp.headers.items()] == [('server', 'test-h2'), ('test', 'PASS')] + assert [x for x in resp.headers.items()] == [(b'server', b'test-h2'), (b'test', b'PASS')] assert resp.read() == data def test_push(self): @@ -248,12 +248,12 @@ class TestH2Response(TestUsingH2Server): resp = self.conn.get_response() assert resp.status == 202 - assert [x for x in resp.headers.items()] == [('server', 'test-h2'), ('test', 'PASS')] + assert [x for x in resp.headers.items()] == [(b'server', b'test-h2'), (b'test', b'PASS')] assert resp.read() == data push_promise = next(self.conn.get_pushes()) push = push_promise.get_response() - assert push_promise.path == '/push-test' + assert push_promise.path == b'/push-test' assert push.status == 203 assert push.read() == push_data @@ -273,7 +273,7 @@ class TestH2Response(TestUsingH2Server): def test_file_like_response(self): @wptserve.handlers.handler def handler(request, response): - content = BytesIO("Hello, world!") + content = BytesIO(b"Hello, world!") response.content = content route = ("GET", "/h2test/test_file_like_response", handler) @@ -282,7 +282,7 @@ class TestH2Response(TestUsingH2Server): resp = self.conn.get_response() assert resp.status == 200 - assert resp.read() == "Hello, world!" + assert resp.read() == b"Hello, world!" def test_list_response(self): @wptserve.handlers.handler @@ -295,7 +295,7 @@ class TestH2Response(TestUsingH2Server): resp = self.conn.get_response() assert resp.status == 200 - assert resp.read() == "helloworld" + assert resp.read() == b"helloworld" def test_content_longer_than_frame_size(self): @wptserve.handlers.handler @@ -312,7 +312,7 @@ class TestH2Response(TestUsingH2Server): assert resp.status == 200 payload_size = int(resp.headers['payload_size'][0]) assert payload_size - assert resp.read() == "a" * (payload_size + 5) + assert resp.read() == b"a" * (payload_size + 5) def test_encode(self): @wptserve.handlers.handler @@ -343,8 +343,8 @@ class TestH2Response(TestUsingH2Server): resp = self.conn.get_response() assert resp.status == 204 - assert resp.headers['server'][0] == 'TEST-H2' - assert resp.read() == '' + assert resp.headers['server'][0] == b'TEST-H2' + assert resp.read() == b'' def test_raw_header_frame_invalid(self): @wptserve.handlers.handler @@ -370,7 +370,7 @@ class TestH2Response(TestUsingH2Server): self.server.router.register(*route) sid = self.conn.request(route[0], route[1]) - assert self.conn.streams[sid]._read() == 'Hello world' + assert self.conn.streams[sid]._read() == b'Hello world' def test_raw_header_continuation_frame(self): @wptserve.handlers.handler @@ -389,8 +389,8 @@ class TestH2Response(TestUsingH2Server): resp = self.conn.get_response() assert resp.status == 204 - assert resp.headers['server'][0] == 'TEST-H2' - assert resp.read() == '' + assert resp.headers['server'][0] == b'TEST-H2' + assert resp.read() == b'' if __name__ == '__main__': unittest.main() diff --git a/tests/wpt/web-platform-tests/tools/wptserve/wptserve/response.py b/tests/wpt/web-platform-tests/tools/wptserve/wptserve/response.py index b7bfcebd10b..1519ed78f39 100644 --- a/tests/wpt/web-platform-tests/tools/wptserve/wptserve/response.py +++ b/tests/wpt/web-platform-tests/tools/wptserve/wptserve/response.py @@ -413,9 +413,9 @@ class H2Response(Response): item = None item_iter = self.iter_content() try: - item = item_iter.next() + item = next(item_iter) while True: - check_last = item_iter.next() + check_last = next(item_iter) self.writer.write_data(item, last=False) item = check_last except StopIteration: @@ -451,6 +451,13 @@ class H2ResponseWriter(object): secondary_headers = [] # Non ':' prefixed headers are to be added afterwards for header, value in headers: + # h2_headers are native strings + # header field names are strings of ASCII + if isinstance(header, binary_type): + header = header.decode('ascii') + # value in headers can be either string or integer + if isinstance(value, binary_type): + value = self.decode(value) if header in h2_headers: header = ':' + header formatted_headers.append((header, str(value))) @@ -635,6 +642,15 @@ class H2ResponseWriter(object): self.content_written = True self.socket.sendall(raw_data) + def decode(self, data): + """Convert bytes to unicode according to response.encoding.""" + if isinstance(data, binary_type): + return data.decode(self._response.encoding) + elif isinstance(data, text_type): + return data + else: + raise ValueError(type(data)) + def encode(self, data): """Convert unicode to bytes according to response.encoding.""" if isinstance(data, binary_type): diff --git a/tests/wpt/web-platform-tests/tools/wptserve/wptserve/server.py b/tests/wpt/web-platform-tests/tools/wptserve/wptserve/server.py index d6718df3f52..d6c61965d96 100644 --- a/tests/wpt/web-platform-tests/tools/wptserve/wptserve/server.py +++ b/tests/wpt/web-platform-tests/tools/wptserve/wptserve/server.py @@ -26,7 +26,7 @@ from .logger import get_logger from .request import Server, Request, H2Request from .response import Response, H2Response from .router import Router -from .utils import HTTPException +from .utils import HTTPException, isomorphic_decode from .constants import h2_headers # We need to stress test that browsers can send/receive many headers (there is @@ -506,6 +506,8 @@ class H2Headers(dict): def __init__(self, headers): self.raw_headers = OrderedDict() for key, val in headers: + key = isomorphic_decode(key) + val = isomorphic_decode(val) self.raw_headers[key] = val dict.__setitem__(self, self._convert_h2_header_to_h1(key), val) diff --git a/tests/wpt/web-platform-tests/tools/wptserve/wptserve/utils.py b/tests/wpt/web-platform-tests/tools/wptserve/wptserve/utils.py index b005b417d74..f9ed3eaebd6 100644 --- a/tests/wpt/web-platform-tests/tools/wptserve/wptserve/utils.py +++ b/tests/wpt/web-platform-tests/tools/wptserve/wptserve/utils.py @@ -152,8 +152,9 @@ def get_port(host=''): return port def http2_compatible(): - # Currently, the HTTP/2.0 server is only working in python 2.7.10+ and OpenSSL 1.0.2+ + # Currently, the HTTP/2.0 server is only working in python 2.7.10+ or 3.6+ and OpenSSL 1.0.2+ import ssl ssl_v = ssl.OPENSSL_VERSION_INFO - return ((sys.version_info[0] == 2 and sys.version_info[1] == 7 and sys.version_info[2] >= 10) and - (ssl_v[0] == 1 and (ssl_v[1] == 1 or (ssl_v[1] == 0 and ssl_v[2] >= 2)))) + py_v = sys.version_info + return (((py_v[0] == 2 and py_v[1] == 7 and py_v[2] >= 10) or (py_v[0] == 3 and py_v[1] >= 6)) and + (ssl_v[0] == 1 and (ssl_v[1] == 1 or (ssl_v[1] == 0 and ssl_v[2] >= 2)))) diff --git a/tests/wpt/web-platform-tests/url/resources/urltestdata.json b/tests/wpt/web-platform-tests/url/resources/urltestdata.json index c7a906c82e5..f55a40338a3 100644 --- a/tests/wpt/web-platform-tests/url/resources/urltestdata.json +++ b/tests/wpt/web-platform-tests/url/resources/urltestdata.json @@ -6091,7 +6091,7 @@ "base": "about:blank", "failure": true }, - "# Additional file URL tetsts for (https://github.com/whatwg/url/issues/405)", + "# Additional file URL tests for (https://github.com/whatwg/url/issues/405)", { "input": "file://localhost//a//../..//foo", "base": "about:blank", @@ -6218,6 +6218,35 @@ "search": "", "hash": "" }, + "File URL tests for https://github.com/whatwg/url/issues/549", + { + "input": "file:.//p", + "base": "about:blank", + "href": "file:////p", + "protocol": "file:", + "username": "", + "password": "", + "host": "", + "hostname": "", + "port": "", + "pathname": "//p", + "search": "", + "hash": "" + }, + { + "input": "file:/.//p", + "base": "about:blank", + "href": "file:////p", + "protocol": "file:", + "username": "", + "password": "", + "host": "", + "hostname": "", + "port": "", + "pathname": "//p", + "search": "", + "hash": "" + }, "# IPv6 tests", { "input": "http://[1:0::]", diff --git a/tests/wpt/web-platform-tests/web-bundle/resources/generate-test-wbns.sh b/tests/wpt/web-platform-tests/web-bundle/resources/generate-test-wbns.sh index 860327fe245..64a54bca3a4 100755 --- a/tests/wpt/web-platform-tests/web-bundle/resources/generate-test-wbns.sh +++ b/tests/wpt/web-platform-tests/web-bundle/resources/generate-test-wbns.sh @@ -22,28 +22,35 @@ gen-bundle \ gen-bundle \ -version b1 \ - -baseURL $wpt_test_http_origin/ \ - -primaryURL $wpt_test_http_origin/root.js \ + -baseURL $wpt_test_http_origin/web-bundle/resources/wbn/ \ + -primaryURL $wpt_test_http_origin/web-bundle/resources/wbn/root.js \ -dir subresource/ \ -o wbn/subresource.wbn gen-bundle \ -version b1 \ - -baseURL $wpt_test_http_origin/web-bundle/resources/dynamic/ \ - -primaryURL $wpt_test_http_origin/web-bundle/resources/dynamic/resource1.js \ + -baseURL $wpt_test_http_origin/web-bundle/resources/wbn/dynamic/ \ + -primaryURL $wpt_test_http_origin/web-bundle/resources/wbn/dynamic/resource1.js \ -dir dynamic1/ \ -o wbn/dynamic1.wbn gen-bundle \ -version b1 \ - -baseURL $wpt_test_http_origin/web-bundle/resources/dynamic/ \ - -primaryURL $wpt_test_http_origin/web-bundle/resources/dynamic/resource1.js \ + -baseURL $wpt_test_http_origin/web-bundle/resources/wbn/dynamic/ \ + -primaryURL $wpt_test_http_origin/web-bundle/resources/wbn/dynamic/resource1.js \ -dir dynamic2/ \ -o wbn/dynamic2.wbn gen-bundle \ -version b1 \ - -baseURL $wpt_test_https_origin/web-bundle/resources/dynamic/ \ - -primaryURL $wpt_test_https_origin/web-bundle/resources/dynamic/resource1.js \ + -baseURL $wpt_test_https_origin/web-bundle/resources/wbn/dynamic/ \ + -primaryURL $wpt_test_https_origin/web-bundle/resources/wbn/dynamic/resource1.js \ -dir dynamic1/ \ -o wbn/dynamic1-crossorigin.wbn + +gen-bundle \ + -version b1 \ + -baseURL $wpt_test_http_origin/web-bundle/resources/ \ + -primaryURL $wpt_test_http_origin/web-bundle/resources/wbn/resource.js \ + -dir path-restriction/ \ + -o wbn/path-restriction.wbn diff --git a/tests/wpt/web-platform-tests/web-bundle/resources/path-restriction/other/resource.js b/tests/wpt/web-platform-tests/web-bundle/resources/path-restriction/other/resource.js new file mode 100644 index 00000000000..a4967d2285a --- /dev/null +++ b/tests/wpt/web-platform-tests/web-bundle/resources/path-restriction/other/resource.js @@ -0,0 +1 @@ +export const result = 'resource from path-restriction.wbn'; diff --git a/tests/wpt/web-platform-tests/web-bundle/resources/path-restriction/resource.js b/tests/wpt/web-platform-tests/web-bundle/resources/path-restriction/resource.js new file mode 100644 index 00000000000..a4967d2285a --- /dev/null +++ b/tests/wpt/web-platform-tests/web-bundle/resources/path-restriction/resource.js @@ -0,0 +1 @@ +export const result = 'resource from path-restriction.wbn'; diff --git a/tests/wpt/web-platform-tests/web-bundle/resources/path-restriction/wbn-resource.js b/tests/wpt/web-platform-tests/web-bundle/resources/path-restriction/wbn-resource.js new file mode 100644 index 00000000000..a4967d2285a --- /dev/null +++ b/tests/wpt/web-platform-tests/web-bundle/resources/path-restriction/wbn-resource.js @@ -0,0 +1 @@ +export const result = 'resource from path-restriction.wbn'; diff --git a/tests/wpt/web-platform-tests/web-bundle/resources/path-restriction/wbn/resource.js b/tests/wpt/web-platform-tests/web-bundle/resources/path-restriction/wbn/resource.js new file mode 100644 index 00000000000..a4967d2285a --- /dev/null +++ b/tests/wpt/web-platform-tests/web-bundle/resources/path-restriction/wbn/resource.js @@ -0,0 +1 @@ +export const result = 'resource from path-restriction.wbn'; diff --git a/tests/wpt/web-platform-tests/web-bundle/resources/path-restriction/wbn/sub/resource.js b/tests/wpt/web-platform-tests/web-bundle/resources/path-restriction/wbn/sub/resource.js new file mode 100644 index 00000000000..a4967d2285a --- /dev/null +++ b/tests/wpt/web-platform-tests/web-bundle/resources/path-restriction/wbn/sub/resource.js @@ -0,0 +1 @@ +export const result = 'resource from path-restriction.wbn'; diff --git a/tests/wpt/web-platform-tests/web-bundle/resources/path-restriction/wbn1/resource.js b/tests/wpt/web-platform-tests/web-bundle/resources/path-restriction/wbn1/resource.js new file mode 100644 index 00000000000..a4967d2285a --- /dev/null +++ b/tests/wpt/web-platform-tests/web-bundle/resources/path-restriction/wbn1/resource.js @@ -0,0 +1 @@ +export const result = 'resource from path-restriction.wbn'; diff --git a/tests/wpt/web-platform-tests/web-bundle/resources/dynamic/__dir__.headers b/tests/wpt/web-platform-tests/web-bundle/resources/wbn/dynamic/__dir__.headers similarity index 100% rename from tests/wpt/web-platform-tests/web-bundle/resources/dynamic/__dir__.headers rename to tests/wpt/web-platform-tests/web-bundle/resources/wbn/dynamic/__dir__.headers diff --git a/tests/wpt/web-platform-tests/web-bundle/resources/dynamic/classic_script.js b/tests/wpt/web-platform-tests/web-bundle/resources/wbn/dynamic/classic_script.js similarity index 100% rename from tests/wpt/web-platform-tests/web-bundle/resources/dynamic/classic_script.js rename to tests/wpt/web-platform-tests/web-bundle/resources/wbn/dynamic/classic_script.js diff --git a/tests/wpt/web-platform-tests/web-bundle/resources/dynamic/resource1.js b/tests/wpt/web-platform-tests/web-bundle/resources/wbn/dynamic/resource1.js similarity index 100% rename from tests/wpt/web-platform-tests/web-bundle/resources/dynamic/resource1.js rename to tests/wpt/web-platform-tests/web-bundle/resources/wbn/dynamic/resource1.js diff --git a/tests/wpt/web-platform-tests/web-bundle/resources/dynamic/resource2.js b/tests/wpt/web-platform-tests/web-bundle/resources/wbn/dynamic/resource2.js similarity index 100% rename from tests/wpt/web-platform-tests/web-bundle/resources/dynamic/resource2.js rename to tests/wpt/web-platform-tests/web-bundle/resources/wbn/dynamic/resource2.js diff --git a/tests/wpt/web-platform-tests/web-bundle/resources/dynamic/resource3.js b/tests/wpt/web-platform-tests/web-bundle/resources/wbn/dynamic/resource3.js similarity index 100% rename from tests/wpt/web-platform-tests/web-bundle/resources/dynamic/resource3.js rename to tests/wpt/web-platform-tests/web-bundle/resources/wbn/dynamic/resource3.js diff --git a/tests/wpt/web-platform-tests/web-bundle/resources/dynamic/resource4.js b/tests/wpt/web-platform-tests/web-bundle/resources/wbn/dynamic/resource4.js similarity index 100% rename from tests/wpt/web-platform-tests/web-bundle/resources/dynamic/resource4.js rename to tests/wpt/web-platform-tests/web-bundle/resources/wbn/dynamic/resource4.js diff --git a/tests/wpt/web-platform-tests/web-bundle/resources/wbn/dynamic1-crossorigin.wbn b/tests/wpt/web-platform-tests/web-bundle/resources/wbn/dynamic1-crossorigin.wbn index 5ebb86178e9bf5cccfa09878210c7866f9d80478..597b6ee90be8094535a6e0bade4c7cbb22ba61a2 100644 GIT binary patch delta 287 zcmX@l{hV8{&Ev!To(Ui3PhRGdWXQl!;WJUt#H2haPd}wHFEKYWS-&W?IKQ+gIn_`v zt2n$RH8U?IwL+3{O(syhAV04-wOEpQPt#JcK4zf4i7R9nL1uv2KV;$T$)1czoLN9l zAXL@l*NhdC;i)M)3PxrMj-}}eMg~R(3WkPOMwV6v#*^)tMJG>Wnk8ajf{-*Yw=y!b cGO_?luEHf@KG}q&7`Nmne3Bbj0PFi!Z2$lO delta 264 zcmaFPeV$ve&Ev!To(Ui3PhRGdWXQl!;W1IrWa37ViLqQlGct=(iwpAeic^avnfEj; zg~~}Yg4D>SROTh-W+v+c)#R5JC8rwcWfeC&NHR7_>;o&D9K|RDRylb+kl_o|GMR;` zT+%l`Pe;MXM8UB%UBSq}$Uwos+{(bf%EWB)L{`zsE171A7#S*fmF7StjjRkUtc(qT YlID~9n2T{s`mo@UWTN0$nyz4EU}T_RU~Xk#U}a)9IgnX&@?xf0B1VP^UZpuuNh2#m3oBzopyVoC W66TZLSc-8=vasTjJj5!;coF~s&`bOP diff --git a/tests/wpt/web-platform-tests/web-bundle/resources/wbn/dynamic2.wbn b/tests/wpt/web-platform-tests/web-bundle/resources/wbn/dynamic2.wbn index e4d04d60c2aa9050c6454ad9f88af407a844669d..798da2e499dd07a2e185b6b7be41e84e88c75c4b 100644 GIT binary patch delta 380 zcmX@f{g7L*&Ev!To(Ui3PhRGdWXQl!;XP5%*rYruPd}wHFEKYWS-&W?IKQ+gIn_`v zt2n$RH8U?IwL+3{c_vW2AV04-wOEpQPt#JcJ_TI*njIvLNbCcvQN*Uk2xxY*gCt`U zK1Ie5MNAI(6q!I3{R1ir0D6TPXx-$ej1`jMsVO=NMrI0*rRfSr21W)7hK5!~mR1JF slgpUaix`+7Bn-^0jLfWzEGAnrufio^K3R{Y7`Nmbe3GkJWTN0$nyz4EU}T_RU~Xk#U}ZcxfLUzvVy0OlMurMrr8!VJBP&A-D`UgSfy}FL WNtjP|V=2Zh$-;_9@(`;W<4FLx_e;b8 diff --git a/tests/wpt/web-platform-tests/web-bundle/resources/wbn/location.wbn b/tests/wpt/web-platform-tests/web-bundle/resources/wbn/location.wbn index 1129cc1e92c89b5b33c86dde61bab7e66c8379bd..f2b1e5333bdcaf88ed8b40246caeb57c3b1be8df 100644 GIT binary patch delta 67 xcmbQvI-PYx5~E~DX{wHbfw_WLVxEGLfsuiNfw7f|xs|cSH5i%d5RBUo#P40@)Eti>79Gg!@?)G|Qc@T&_QLw$ zKKoLDKB<$Fhb`;UdMN7XOp)xlpT$vswmWRuTij!QvdTm#D94!j?wtrppL`wP%C*dX5R#T=S{rZ2>oaAz0&Ji GOkV)!S5Qv? literal 0 HcmV?d00001 diff --git a/tests/wpt/web-platform-tests/web-bundle/resources/wbn/subresource.wbn b/tests/wpt/web-platform-tests/web-bundle/resources/wbn/subresource.wbn index 4d059e7c0b819500c437529446158d2884915c4c..eabd994ff8bceaf4ef52b329b4faa158c292af12 100644 GIT binary patch delta 219 zcmZo=xxgaW=J8>E&x8;2CogkJGGt(=u$w3-XI-9}q?=Tlmy(mJUzA#$Us{x$TC885 zl&4>mpI@SvRUFomnwgi9S|Kqp6DVJhpI4k(EXnBKv$34Z5RUp|8`2} delta 144 zcmcb>(#j&(=J8>E&x8;2CogkJGGt(=P@O0!r&N@mU!s>)9M+PWnU|7UArYThlv-Sn zpI4k(EXnBKv*g%(iX#Ai7Y8KpW3hGq(0r8x>l21W)721Zr}23AHU Qld~8n;+7O + resources="http://web-platform.test:8001/web-bundle/resources/wbn/root.js + http://web-platform.test:8001/web-bundle/resources/wbn/submodule.js" /> + + + + +