aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbors-servo <lbergstrom+bors@mozilla.com>2019-04-03 07:17:10 -0400
committerGitHub <noreply@github.com>2019-04-03 07:17:10 -0400
commit6fa1853bb1e9bc80271c5259a8d2ed7799a0d6ff (patch)
tree3ff9bf6bd5dc9040d64afbc430f180a922bd0ed1
parentb9b729caa06229695e25bde8d5a735e713003c3d (diff)
parent01b82f5e685d134546afcac1e18f421d914fa69c (diff)
downloadservo-6fa1853bb1e9bc80271c5259a8d2ed7799a0d6ff.tar.gz
servo-6fa1853bb1e9bc80271c5259a8d2ed7799a0d6ff.zip
Auto merge of #23156 - servo-wpt-sync:wpt_update_03-04-2019, r=jdm
Sync WPT with upstream (03-04-2019) Automated downstream sync of changes from upstream as of 03-04-2019. [no-wpt-sync] <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/23156) <!-- Reviewable:end -->
-rw-r--r--tests/wpt/metadata/MANIFEST.json612
-rw-r--r--tests/wpt/metadata/css/css-fonts/variations/at-font-face-font-matching.html.ini46
-rw-r--r--tests/wpt/metadata/css/css-transitions/transitions-animatable-properties-01.html.ini3
-rw-r--r--tests/wpt/metadata/css/cssom-view/elementsFromPoint-iframes.html.ini2
-rw-r--r--tests/wpt/metadata/fetch/content-type/response.window.js.ini89
-rw-r--r--tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/javascript-url-abort/javascript-url-abort-return-value-undefined.tentative.html.ini5
-rw-r--r--tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini4
-rw-r--r--tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini4
-rw-r--r--tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini4
-rw-r--r--tests/wpt/metadata/html/browsers/the-window-object/closed-attribute.window.js.ini1
-rw-r--r--tests/wpt/metadata/html/semantics/embedded-content/media-elements/playing-the-media-resource/loop-from-ended.tentative.html.ini4
-rw-r--r--tests/wpt/metadata/html/semantics/scripting-1/the-script-element/script-onerror-insertion-point-2.html.ini2
-rw-r--r--tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/document-write/iframe_005.html.ini4
-rw-r--r--tests/wpt/metadata/workers/semantics/multiple-workers/005.html.ini1
-rw-r--r--tests/wpt/mozilla/meta/css/transition_calc_implicit.html.ini2
-rw-r--r--tests/wpt/web-platform-tests/.github/main.workflow12
-rw-r--r--tests/wpt/web-platform-tests/.taskcluster.yml12
-rwxr-xr-xtests/wpt/web-platform-tests/common/security-features/subresource/__init__.py (renamed from tests/wpt/web-platform-tests/referrer-policy/generic/subresource/__init__.py)0
-rw-r--r--tests/wpt/web-platform-tests/common/security-features/subresource/audio.py18
-rw-r--r--tests/wpt/web-platform-tests/common/security-features/subresource/document.py (renamed from tests/wpt/web-platform-tests/referrer-policy/generic/subresource/document.py)3
-rw-r--r--tests/wpt/web-platform-tests/common/security-features/subresource/empty.py14
-rw-r--r--tests/wpt/web-platform-tests/common/security-features/subresource/font.py (renamed from tests/wpt/web-platform-tests/referrer-policy/generic/subresource/font.py)2
-rw-r--r--tests/wpt/web-platform-tests/common/security-features/subresource/image.py (renamed from tests/wpt/web-platform-tests/referrer-policy/generic/subresource/image.py)2
-rw-r--r--tests/wpt/web-platform-tests/common/security-features/subresource/script.py (renamed from tests/wpt/web-platform-tests/referrer-policy/generic/subresource/script.py)2
-rw-r--r--tests/wpt/web-platform-tests/common/security-features/subresource/shared-worker.py (renamed from tests/wpt/web-platform-tests/referrer-policy/generic/subresource/shared-worker.py)2
-rw-r--r--tests/wpt/web-platform-tests/common/security-features/subresource/stylesheet.py (renamed from tests/wpt/web-platform-tests/referrer-policy/generic/subresource/stylesheet.py)22
-rw-r--r--tests/wpt/web-platform-tests/common/security-features/subresource/subresource.py (renamed from tests/wpt/web-platform-tests/referrer-policy/generic/subresource/subresource.py)102
-rw-r--r--tests/wpt/web-platform-tests/common/security-features/subresource/svg.py (renamed from tests/wpt/web-platform-tests/referrer-policy/generic/subresource/svg.py)2
-rw-r--r--tests/wpt/web-platform-tests/common/security-features/subresource/template/document.html.template (renamed from tests/wpt/web-platform-tests/referrer-policy/generic/template/document.html.template)0
-rw-r--r--tests/wpt/web-platform-tests/common/security-features/subresource/template/font.css.template (renamed from tests/wpt/web-platform-tests/referrer-policy/generic/template/font.css.template)2
-rw-r--r--tests/wpt/web-platform-tests/common/security-features/subresource/template/image.css.template3
-rw-r--r--tests/wpt/web-platform-tests/common/security-features/subresource/template/script.js.template (renamed from tests/wpt/web-platform-tests/referrer-policy/generic/template/script.js.template)0
-rw-r--r--tests/wpt/web-platform-tests/common/security-features/subresource/template/shared-worker.js.template (renamed from tests/wpt/web-platform-tests/referrer-policy/generic/template/shared-worker.js.template)0
-rw-r--r--tests/wpt/web-platform-tests/common/security-features/subresource/template/svg.css.template3
-rw-r--r--tests/wpt/web-platform-tests/common/security-features/subresource/template/svg.embedded.template (renamed from tests/wpt/web-platform-tests/referrer-policy/generic/template/svg.embedded.template)0
-rw-r--r--tests/wpt/web-platform-tests/common/security-features/subresource/template/worker.js.template (renamed from tests/wpt/web-platform-tests/referrer-policy/generic/template/worker.js.template)0
-rw-r--r--tests/wpt/web-platform-tests/common/security-features/subresource/video.py17
-rw-r--r--tests/wpt/web-platform-tests/common/security-features/subresource/worker.py (renamed from tests/wpt/web-platform-tests/referrer-policy/generic/subresource/worker.py)2
-rwxr-xr-xtests/wpt/web-platform-tests/common/security-features/subresource/xhr.py (renamed from tests/wpt/web-platform-tests/referrer-policy/generic/subresource/xhr.py)2
-rw-r--r--tests/wpt/web-platform-tests/css/css-contain/contain-size-flexbox-002.html25
-rw-r--r--tests/wpt/web-platform-tests/css/css-contain/reference/contain-size-flexbox-002-ref.html23
-rw-r--r--tests/wpt/web-platform-tests/css/css-tables/border-collapse-rowspan-cell-ref.html22
-rw-r--r--tests/wpt/web-platform-tests/css/css-tables/border-collapse-rowspan-cell.html26
-rw-r--r--tests/wpt/web-platform-tests/fetch/corb/img-mime-types-coverage.tentative.sub.html1
-rw-r--r--tests/wpt/web-platform-tests/fetch/sec-metadata/img.tentative.https.sub.html6
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/playing-the-media-resource/loop-from-ended.tentative.html55
-rw-r--r--tests/wpt/web-platform-tests/interfaces/wake-lock.idl1
-rw-r--r--tests/wpt/web-platform-tests/interfaces/webxr.idl3
-rw-r--r--tests/wpt/web-platform-tests/mixed-content/generic/expect.py106
-rw-r--r--tests/wpt/web-platform-tests/mixed-content/generic/mixed-content-test-case.js145
-rw-r--r--tests/wpt/web-platform-tests/mixed-content/generic/script.js1
-rw-r--r--tests/wpt/web-platform-tests/mixed-content/generic/worker.js1
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/README.md1
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/css-integration/README.md4
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/css-integration/child-css/external-import-stylesheet.html4
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/css-integration/child-css/internal-import-stylesheet.html4
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/css-integration/child-css/processing-instruction.html2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/css-integration/css-test-helper.js2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/css-integration/font-face/external-import-stylesheet.html6
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/css-integration/font-face/external-stylesheet.html4
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/css-integration/font-face/internal-import-stylesheet.html2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/css-integration/font-face/internal-stylesheet.html2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/css-integration/font-face/processing-instruction.html6
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/css-integration/image/external-import-stylesheet.html6
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/css-integration/image/external-stylesheet.html4
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/css-integration/image/inline-style.html2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/css-integration/image/internal-import-stylesheet.html2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/css-integration/image/internal-stylesheet.html2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/css-integration/image/presentation-attribute.html2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/css-integration/image/processing-instruction.html4
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/generic/iframe-inheritance.html2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/generic/link-rel-prefetch.html4
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/generic/multiple-headers-and-values.html2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/generic/multiple-headers-combined.html2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/generic/multiple-headers-one-invalid.html2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/generic/multiple-headers-one-unknown-token.html2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/generic/multiple-headers.html2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/generic/referrer-policy-test-case.js20
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/generic/sandboxed-iframe-with-opaque-origin.html2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/generic/subresource-test/area-navigate.html2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/generic/subresource-test/fetch-messaging.html2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/generic/subresource-test/iframe-messaging.html2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/generic/subresource-test/image-decoding.html2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/generic/subresource-test/link-navigate.html2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/generic/subresource-test/script-messaging.html2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/generic/subresource-test/worker-messaging.html2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/generic/subresource-test/xhr-messaging.html2
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/generic/template/image.css.template3
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/generic/template/svg.css.template3
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/generic/unsupported-csp-referrer-directive.html2
-rw-r--r--tests/wpt/web-platform-tests/service-workers/service-worker/skip-waiting-using-registration.https.html2
-rw-r--r--tests/wpt/web-platform-tests/service-workers/service-worker/skip-waiting-without-using-registration.https.html2
-rw-r--r--tests/wpt/web-platform-tests/shape-detection/detection-options.html40
-rw-r--r--tests/wpt/web-platform-tests/streams/readable-streams/tee.any.js111
-rwxr-xr-xtests/wpt/web-platform-tests/tools/ci/action_manifest_build.sh11
-rwxr-xr-xtests/wpt/web-platform-tests/tools/ci/ci_lint.sh10
-rw-r--r--tests/wpt/web-platform-tests/tools/ci/manifest_build.py (renamed from tests/wpt/web-platform-tests/tools/ci/tag_master.py)53
-rwxr-xr-xtests/wpt/web-platform-tests/tools/ci/run_tc.py7
-rw-r--r--tests/wpt/web-platform-tests/tools/wptrunner/requirements.txt4
-rw-r--r--tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/tests/test_products.py5
-rw-r--r--tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/wptmanifest/parser.py14
-rw-r--r--tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/wptmanifest/tests/test_tokenizer.py94
-rw-r--r--tests/wpt/web-platform-tests/wake-lock/idlharness.https.any.js2
-rw-r--r--tests/wpt/web-platform-tests/webauthn/idlharness.https.window.js67
-rw-r--r--tests/wpt/webgl/meta/conformance/textures/misc/texture-upload-size.html.ini3
105 files changed, 1197 insertions, 769 deletions
diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json
index 9860287c707..c75740964c8 100644
--- a/tests/wpt/metadata/MANIFEST.json
+++ b/tests/wpt/metadata/MANIFEST.json
@@ -112723,6 +112723,18 @@
{}
]
],
+ "css/css-contain/contain-size-flexbox-002.html": [
+ [
+ "css/css-contain/contain-size-flexbox-002.html",
+ [
+ [
+ "/css/css-contain/reference/contain-size-flexbox-002-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"css/css-contain/contain-size-grid-001.html": [
[
"css/css-contain/contain-size-grid-001.html",
@@ -138273,6 +138285,18 @@
{}
]
],
+ "css/css-tables/border-collapse-rowspan-cell.html": [
+ [
+ "css/css-tables/border-collapse-rowspan-cell.html",
+ [
+ [
+ "/css/css-tables/border-collapse-rowspan-cell-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"css/css-tables/border-conflict-resolution.html": [
[
"css/css-tables/border-conflict-resolution.html",
@@ -208053,6 +208077,116 @@
{}
]
],
+ "common/security-features/subresource/__init__.py": [
+ [
+ {}
+ ]
+ ],
+ "common/security-features/subresource/audio.py": [
+ [
+ {}
+ ]
+ ],
+ "common/security-features/subresource/document.py": [
+ [
+ {}
+ ]
+ ],
+ "common/security-features/subresource/empty.py": [
+ [
+ {}
+ ]
+ ],
+ "common/security-features/subresource/font.py": [
+ [
+ {}
+ ]
+ ],
+ "common/security-features/subresource/image.py": [
+ [
+ {}
+ ]
+ ],
+ "common/security-features/subresource/script.py": [
+ [
+ {}
+ ]
+ ],
+ "common/security-features/subresource/shared-worker.py": [
+ [
+ {}
+ ]
+ ],
+ "common/security-features/subresource/stylesheet.py": [
+ [
+ {}
+ ]
+ ],
+ "common/security-features/subresource/subresource.py": [
+ [
+ {}
+ ]
+ ],
+ "common/security-features/subresource/svg.py": [
+ [
+ {}
+ ]
+ ],
+ "common/security-features/subresource/template/document.html.template": [
+ [
+ {}
+ ]
+ ],
+ "common/security-features/subresource/template/font.css.template": [
+ [
+ {}
+ ]
+ ],
+ "common/security-features/subresource/template/image.css.template": [
+ [
+ {}
+ ]
+ ],
+ "common/security-features/subresource/template/script.js.template": [
+ [
+ {}
+ ]
+ ],
+ "common/security-features/subresource/template/shared-worker.js.template": [
+ [
+ {}
+ ]
+ ],
+ "common/security-features/subresource/template/svg.css.template": [
+ [
+ {}
+ ]
+ ],
+ "common/security-features/subresource/template/svg.embedded.template": [
+ [
+ {}
+ ]
+ ],
+ "common/security-features/subresource/template/worker.js.template": [
+ [
+ {}
+ ]
+ ],
+ "common/security-features/subresource/video.py": [
+ [
+ {}
+ ]
+ ],
+ "common/security-features/subresource/worker.py": [
+ [
+ {}
+ ]
+ ],
+ "common/security-features/subresource/xhr.py": [
+ [
+ {}
+ ]
+ ],
"common/sleep.py": [
[
{}
@@ -257958,6 +258092,11 @@
{}
]
],
+ "css/css-contain/reference/contain-size-flexbox-002-ref.html": [
+ [
+ {}
+ ]
+ ],
"css/css-contain/reference/contain-size-grid-001-ref.html": [
[
{}
@@ -273243,6 +273382,11 @@
{}
]
],
+ "css/css-tables/border-collapse-rowspan-cell-ref.html": [
+ [
+ {}
+ ]
+ ],
"css/css-tables/border-conflict-resolution-ref.html": [
[
{}
@@ -306804,11 +306948,6 @@
{}
]
],
- "mixed-content/generic/expect.py": [
- [
- {}
- ]
- ],
"mixed-content/generic/mixed-content-test-case.js": [
[
{}
@@ -306819,11 +306958,6 @@
{}
]
],
- "mixed-content/generic/script.js": [
- [
- {}
- ]
- ],
"mixed-content/generic/template/disclaimer.template": [
[
{}
@@ -306884,11 +307018,6 @@
{}
]
],
- "mixed-content/generic/worker.js": [
- [
- {}
- ]
- ],
"mixed-content/img-tag/http-csp/cross-origin-http/top-level/keep-scheme-redirect/optionally-blockable/opt-in-blocks.https.html.headers": [
[
{}
@@ -308834,106 +308963,16 @@
{}
]
],
- "referrer-policy/generic/subresource/__init__.py": [
- [
- {}
- ]
- ],
- "referrer-policy/generic/subresource/document.py": [
- [
- {}
- ]
- ],
- "referrer-policy/generic/subresource/font.py": [
- [
- {}
- ]
- ],
- "referrer-policy/generic/subresource/image.py": [
- [
- {}
- ]
- ],
- "referrer-policy/generic/subresource/script.py": [
- [
- {}
- ]
- ],
- "referrer-policy/generic/subresource/shared-worker.py": [
- [
- {}
- ]
- ],
- "referrer-policy/generic/subresource/stylesheet.py": [
- [
- {}
- ]
- ],
- "referrer-policy/generic/subresource/subresource.py": [
- [
- {}
- ]
- ],
- "referrer-policy/generic/subresource/svg.py": [
- [
- {}
- ]
- ],
- "referrer-policy/generic/subresource/worker.py": [
- [
- {}
- ]
- ],
- "referrer-policy/generic/subresource/xhr.py": [
- [
- {}
- ]
- ],
"referrer-policy/generic/template/disclaimer.template": [
[
{}
]
],
- "referrer-policy/generic/template/document.html.template": [
- [
- {}
- ]
- ],
- "referrer-policy/generic/template/font.css.template": [
- [
- {}
- ]
- ],
- "referrer-policy/generic/template/image.css.template": [
- [
- {}
- ]
- ],
- "referrer-policy/generic/template/script.js.template": [
- [
- {}
- ]
- ],
- "referrer-policy/generic/template/shared-worker.js.template": [
- [
- {}
- ]
- ],
"referrer-policy/generic/template/spec_json.js.template": [
[
{}
]
],
- "referrer-policy/generic/template/svg.css.template": [
- [
- {}
- ]
- ],
- "referrer-policy/generic/template/svg.embedded.template": [
- [
- {}
- ]
- ],
"referrer-policy/generic/template/test.debug.html.template": [
[
{}
@@ -308954,11 +308993,6 @@
{}
]
],
- "referrer-policy/generic/template/worker.js.template": [
- [
- {}
- ]
- ],
"referrer-policy/generic/tools/__init__.py": [
[
{}
@@ -318179,11 +318213,6 @@
{}
]
],
- "tools/ci/action_manifest_build.sh": [
- [
- {}
- ]
- ],
"tools/ci/azure/README.md": [
[
{}
@@ -318269,11 +318298,6 @@
{}
]
],
- "tools/ci/ci_lint.sh": [
- [
- {}
- ]
- ],
"tools/ci/ci_resources_unittest.sh": [
[
{}
@@ -318309,12 +318333,12 @@
{}
]
],
- "tools/ci/run_tc.py": [
+ "tools/ci/manifest_build.py": [
[
{}
]
],
- "tools/ci/tag_master.py": [
+ "tools/ci/run_tc.py": [
[
{}
]
@@ -389179,6 +389203,12 @@
{}
]
],
+ "html/semantics/embedded-content/media-elements/playing-the-media-resource/loop-from-ended.tentative.html": [
+ [
+ "html/semantics/embedded-content/media-elements/playing-the-media-resource/loop-from-ended.tentative.html",
+ {}
+ ]
+ ],
"html/semantics/embedded-content/media-elements/playing-the-media-resource/pause-move-to-other-document.html": [
[
"html/semantics/embedded-content/media-elements/playing-the-media-resource/pause-move-to-other-document.html",
@@ -432843,6 +432873,10 @@
[
"script",
"../resources/test-utils.js"
+ ],
+ [
+ "script",
+ "../resources/recording-streams.js"
]
]
}
@@ -432863,6 +432897,10 @@
[
"script",
"../resources/test-utils.js"
+ ],
+ [
+ "script",
+ "../resources/recording-streams.js"
]
]
}
@@ -432882,6 +432920,10 @@
[
"script",
"../resources/test-utils.js"
+ ],
+ [
+ "script",
+ "../resources/recording-streams.js"
]
]
}
@@ -432901,6 +432943,10 @@
[
"script",
"../resources/test-utils.js"
+ ],
+ [
+ "script",
+ "../resources/recording-streams.js"
]
]
}
@@ -432920,6 +432966,10 @@
[
"script",
"../resources/test-utils.js"
+ ],
+ [
+ "script",
+ "../resources/recording-streams.js"
]
]
}
@@ -473944,7 +473994,7 @@
"support"
],
".github/main.workflow": [
- "b1b61554f91aa0256fbd4a58e0cbbe16ecdb1c6e",
+ "4ff7845b9d23ad55724b78950bc94d7d5a7a9e5e",
"support"
],
".gitignore": [
@@ -473964,7 +474014,7 @@
"support"
],
".taskcluster.yml": [
- "6ad97f7e104d04278cf4b2087e107bcdb849ab7d",
+ "89e51c8c71c540899852d34ab0e0f48e1f9f4fb1",
"support"
],
".well-known/README.md": [
@@ -485503,6 +485553,94 @@
"678d2a0d8fa7001e5dcd2204b6f2b548d0b913c1",
"support"
],
+ "common/security-features/subresource/__init__.py": [
+ "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
+ "support"
+ ],
+ "common/security-features/subresource/audio.py": [
+ "eb95045e0315ab5c24a826325e1e16a6cd45827d",
+ "support"
+ ],
+ "common/security-features/subresource/document.py": [
+ "59e0dcd7bc6cd3904b1aa8079ea161a24d2f51e6",
+ "support"
+ ],
+ "common/security-features/subresource/empty.py": [
+ "132e85ddeec9119c03a11e030c3e6f09c32735c4",
+ "support"
+ ],
+ "common/security-features/subresource/font.py": [
+ "26311a9f079080e7fc11995e8c180b12a6201b16",
+ "support"
+ ],
+ "common/security-features/subresource/image.py": [
+ "d132889412372e7f764fe98159897fcacc009bbb",
+ "support"
+ ],
+ "common/security-features/subresource/script.py": [
+ "9d7cd0469f0ef9d2da9c322db4257cbdfbf310e8",
+ "support"
+ ],
+ "common/security-features/subresource/shared-worker.py": [
+ "d8fd6876449ee844a758b2b1028588d866746d9e",
+ "support"
+ ],
+ "common/security-features/subresource/stylesheet.py": [
+ "ec62a8cd5f282130f66c1bdfe47240ca4cc625af",
+ "support"
+ ],
+ "common/security-features/subresource/subresource.py": [
+ "f11f3250568b662118d658388a2e4725357d7fd4",
+ "support"
+ ],
+ "common/security-features/subresource/svg.py": [
+ "6353079bb89e190d1851a153109f5c9d2cfeb654",
+ "support"
+ ],
+ "common/security-features/subresource/template/document.html.template": [
+ "141711c1483fd13e87e95f151fe6f3191704d7c7",
+ "support"
+ ],
+ "common/security-features/subresource/template/font.css.template": [
+ "9d1e9c421cc7fb7cc701b7cbf4ba23b76519dcd7",
+ "support"
+ ],
+ "common/security-features/subresource/template/image.css.template": [
+ "dfe41f1bf169b017308da7d4d89c182dcd3511a1",
+ "support"
+ ],
+ "common/security-features/subresource/template/script.js.template": [
+ "e2edf21819dff6afc8a4f5816a0be58f987341ff",
+ "support"
+ ],
+ "common/security-features/subresource/template/shared-worker.js.template": [
+ "c3f109e4a90edd65cfa26d14dbe4e4252087b37c",
+ "support"
+ ],
+ "common/security-features/subresource/template/svg.css.template": [
+ "c2e509cc3b81c55072390d387502fc1949b917ae",
+ "support"
+ ],
+ "common/security-features/subresource/template/svg.embedded.template": [
+ "5986c4800a7add03db721f2bf116fe405e5d56cf",
+ "support"
+ ],
+ "common/security-features/subresource/template/worker.js.template": [
+ "817dd8c87ac81e1a13bbee7691d69fb2a021f527",
+ "support"
+ ],
+ "common/security-features/subresource/video.py": [
+ "c8d8548ac3eaef9122347de6ef05cd7a230c6f96",
+ "support"
+ ],
+ "common/security-features/subresource/worker.py": [
+ "85c1f67a9675a992e9d00ed70feafea0e8b0eb30",
+ "support"
+ ],
+ "common/security-features/subresource/xhr.py": [
+ "82a4cb0b657956cb20efcfb0142ad4040875eabe",
+ "support"
+ ],
"common/sleep.py": [
"2e803b1b262423e219be592fab548ada982bc439",
"support"
@@ -574507,6 +574645,10 @@
"16ba62eda041abe11424f63c65d6dfd46aa82570",
"reftest"
],
+ "css/css-contain/contain-size-flexbox-002.html": [
+ "531af691afe80364c43e0055ef90306ceeaca00f",
+ "reftest"
+ ],
"css/css-contain/contain-size-grid-001.html": [
"4510c1e55368aeea38a79ba66059acd4d7660ddb",
"reftest"
@@ -574815,6 +574957,10 @@
"70f408643007d8338f401ef947f7bb24f1eaedc9",
"support"
],
+ "css/css-contain/reference/contain-size-flexbox-002-ref.html": [
+ "a75fa26c9ff0b91717b03badce4fb891c0ce3452",
+ "support"
+ ],
"css/css-contain/reference/contain-size-grid-001-ref.html": [
"cf4f8076650928dfd0cefc18665ef1e8ab52d7b6",
"support"
@@ -601279,6 +601425,14 @@
"f7a00756e8154300ebdf3073f9b2e0945cb07eb0",
"reftest"
],
+ "css/css-tables/border-collapse-rowspan-cell-ref.html": [
+ "53774da48a30f60eae0750e989c2e19db8bd97cc",
+ "support"
+ ],
+ "css/css-tables/border-collapse-rowspan-cell.html": [
+ "8a4bdede0ea4edafffbb5bb6c7f93684f1265368",
+ "reftest"
+ ],
"css/css-tables/border-conflict-resolution-ref.html": [
"f19032171b8a0d8e33a78c1f53388a19c79b757d",
"support"
@@ -646688,7 +646842,7 @@
"reftest"
],
"fetch/corb/img-mime-types-coverage.tentative.sub.html": [
- "223a0a375c333511b72bcc3e276edee6519bf615",
+ "6d7fd60f449ac78f8ff7c07265acb2101b15bd39",
"testharness"
],
"fetch/corb/img-png-mislabeled-as-html-nosniff.tentative.sub-ref.html": [
@@ -647132,7 +647286,7 @@
"testharness"
],
"fetch/sec-metadata/img.tentative.https.sub.html": [
- "717e385bd040be4b75f1049de05f48726e382d96",
+ "b9fc1af2f3bfcc09b7e9989fd755f3c82d6f24d9",
"testharness"
],
"fetch/sec-metadata/navigation.https.sub.html": [
@@ -658887,6 +659041,10 @@
"817615c5cb543fd5331f9838b1cc37cded5b21cf",
"testharness"
],
+ "html/semantics/embedded-content/media-elements/playing-the-media-resource/loop-from-ended.tentative.html": [
+ "03a9b5d454473872f0d321b74524518438372fac",
+ "testharness"
+ ],
"html/semantics/embedded-content/media-elements/playing-the-media-resource/pause-move-to-other-document.html": [
"77b4a288d899444b5152ce23c1022faa9483ce2f",
"testharness"
@@ -669048,7 +669206,7 @@
"support"
],
"interfaces/wake-lock.idl": [
- "7ef19dc64754f3ab060035163bd3854dce32aaef",
+ "202dc6b09f7e6aa56289b62bb810ed0fb2e289d0",
"support"
],
"interfaces/wasm-js-api.idl": [
@@ -669120,7 +669278,7 @@
"support"
],
"interfaces/webxr.idl": [
- "7594489a36d130864e553a3c8125aa2488895b2e",
+ "8a3264073e8268282c3db6a891b860d57bfcdb28",
"support"
],
"interfaces/worklets.idl": [
@@ -671783,22 +671941,14 @@
"704042109cce25f023b753bc49cc0a5ff2d93b2f",
"testharness"
],
- "mixed-content/generic/expect.py": [
- "2c360c1d9315db12f3463c2d005a111b02b3818a",
- "support"
- ],
"mixed-content/generic/mixed-content-test-case.js": [
- "b2c0bcdea1eea2603d0cc76f626f4dff3ace00bd",
+ "a50b61c7e76503abe001ddc714da81036b6c254a",
"support"
],
"mixed-content/generic/sanity-checker.js": [
"55a103adf0f29c615d40bc47943be1aec25c8f1e",
"support"
],
- "mixed-content/generic/script.js": [
- "2d1cdf0a4bbdb465c45a47cf676c8e6d23f1ddc0",
- "support"
- ],
"mixed-content/generic/template/disclaimer.template": [
"66c43ed6f21324d44b1596c09a02fecf53f41323",
"support"
@@ -671847,10 +671997,6 @@
"686579ece5797abfdb5441e080db85758fe1b220",
"support"
],
- "mixed-content/generic/worker.js": [
- "7e2168bcc06e0dd0832f42c28ef9ba3f7c2d84bf",
- "support"
- ],
"mixed-content/imageset.https.sub.html": [
"1f3d0471fbd2b38649894619494750ef221d72c9",
"testharness"
@@ -683172,75 +683318,75 @@
"support"
],
"referrer-policy/README.md": [
- "58eff1a0ca385896ae0b6adbf4c607748089c634",
+ "ea158fe539468ddf5fd0840b87a4b57b79fb68f2",
"support"
],
"referrer-policy/css-integration/README.md": [
- "14da25c4d9702f0dcfb87aca255e0ea5df9063a6",
+ "150b0e652638b0a76e3c0cace6a6acae8b629064",
"support"
],
"referrer-policy/css-integration/child-css/external-import-stylesheet.html": [
- "9245ff39c6eafe272e70d3f208eb6f18876f2c62",
+ "3ced0f4998335d34385f9f843ed9d96414d375e5",
"testharness"
],
"referrer-policy/css-integration/child-css/internal-import-stylesheet.html": [
- "c25b99926a0a12bf2f1a2d60bf1a9cc9c58fae22",
+ "df835c45e106ebf57dd0671d70d4d09d32f3cdc9",
"testharness"
],
"referrer-policy/css-integration/child-css/processing-instruction.html": [
- "36d8bbc0216df9536aa8e9ffeb5b7ff673c31174",
+ "1a0d9ebdda2c6d852dd570e4548c69b807f49c21",
"testharness"
],
"referrer-policy/css-integration/css-test-helper.js": [
- "0afa9e1b87ca7dca7ad4fae541cf68d80c62ec91",
+ "dc97ccc063bd4075a4dac6c3890428982c53a79a",
"support"
],
"referrer-policy/css-integration/font-face/external-import-stylesheet.html": [
- "6bd0554ccdfdd9054ea984a1d95799de838954d3",
+ "db655fbb7260a2971d27780f1bbdca1d962fdd72",
"testharness"
],
"referrer-policy/css-integration/font-face/external-stylesheet.html": [
- "8773664625c4472f7ce75c5aba76be83573bd5dd",
+ "cc99b1f3ddcadc9ffc804b09851abc5ba7fc58a2",
"testharness"
],
"referrer-policy/css-integration/font-face/internal-import-stylesheet.html": [
- "6dcf6be3e7d705aa6694342abc9cc86eab97c966",
+ "969db95179ef8976a6f44918efd486c591666df1",
"testharness"
],
"referrer-policy/css-integration/font-face/internal-stylesheet.html": [
- "0d54bb766f771fedaca6676ccee539ed7429133c",
+ "40eb09357b98b92e8773211c0fc312f194a91c10",
"testharness"
],
"referrer-policy/css-integration/font-face/processing-instruction.html": [
- "26203a822681b81b0a5192461d1d99decb54ddc6",
+ "25b0ed13473654418ceea7c21fce6bb2d54bb7ef",
"testharness"
],
"referrer-policy/css-integration/image/external-import-stylesheet.html": [
- "7c5a8c3d70941adaf679a83c8073b36f3b09a5e9",
+ "370bc44b6c197dd29c7ece8c5eeeeedc452afa9e",
"testharness"
],
"referrer-policy/css-integration/image/external-stylesheet.html": [
- "72a807bec6ba56b92ea62c8fbc1c20a9d8fd980e",
+ "eb1b019c988e549699e8745f56c85a3a483016c3",
"testharness"
],
"referrer-policy/css-integration/image/inline-style.html": [
- "7e3d8879a4ae243fd75ae33c6a308f20983636f4",
+ "d6ff26e7bcc0c9d426b24a1b65c79768bb81aa4e",
"testharness"
],
"referrer-policy/css-integration/image/internal-import-stylesheet.html": [
- "e94218d419e6dae751c757f915cc5d4d1133fcbc",
+ "e96b25a9712f6ec610c2927006d07ab68b520dcb",
"testharness"
],
"referrer-policy/css-integration/image/internal-stylesheet.html": [
- "a6107cb3a995d7808312f0029afce11d209ece69",
+ "29a8517e117b092b648b2603de67eca52e7dfd4d",
"testharness"
],
"referrer-policy/css-integration/image/presentation-attribute.html": [
- "ee70f15885c7145d7d235a9efd146856f4fca47b",
+ "95d3b11a42aae6b314f414352b73c5f35d1bff53",
"testharness"
],
"referrer-policy/css-integration/image/processing-instruction.html": [
- "c2b31be889938de3402611f02fffc6b6404429c7",
+ "e52d9b65097f37a0dfd73b9b9b851d7d0df8b3a9",
"testharness"
],
"referrer-policy/css-integration/svg/external-stylesheet.html": [
@@ -683264,15 +683410,15 @@
"testharness"
],
"referrer-policy/generic/iframe-inheritance.html": [
- "3bab0979dd91afb0c6bc09baca8ce1eafe07ba5f",
+ "ca17e03933a933f19fe4b69328f1b7df3740d3a2",
"testharness"
],
"referrer-policy/generic/link-rel-prefetch.html": [
- "0f78596fa2d78e066d8152cbee56815d4bc7b5d3",
+ "c8e367079bd36f04bc9cf8fbbb87c0647b2303e8",
"testharness"
],
"referrer-policy/generic/multiple-headers-and-values.html": [
- "d6b9408c1536b7526f101ea27473b9461534aaf4",
+ "ac7f37006ec748c754040119970f6aba326cd757",
"testharness"
],
"referrer-policy/generic/multiple-headers-and-values.html.headers": [
@@ -683280,7 +683426,7 @@
"support"
],
"referrer-policy/generic/multiple-headers-combined.html": [
- "0b36aeee94c33de08f38491bde31519acc504527",
+ "0e99cd4ea8e822325180b4e94e03a38ddcfe66f5",
"testharness"
],
"referrer-policy/generic/multiple-headers-combined.html.headers": [
@@ -683288,7 +683434,7 @@
"support"
],
"referrer-policy/generic/multiple-headers-one-invalid.html": [
- "599ffdccc3ead1b56b75e30f5f41a857ecb50eaa",
+ "3c2bf21a62b2fd37b5ede60b2dbe01ca01104ce8",
"testharness"
],
"referrer-policy/generic/multiple-headers-one-invalid.html.headers": [
@@ -683296,7 +683442,7 @@
"support"
],
"referrer-policy/generic/multiple-headers-one-unknown-token.html": [
- "cf9a792162621e905873c5deff774f6aeedc880c",
+ "2c13376b14cea31b6d014d20835b02dae4a88484",
"testharness"
],
"referrer-policy/generic/multiple-headers-one-unknown-token.html.headers": [
@@ -683304,7 +683450,7 @@
"support"
],
"referrer-policy/generic/multiple-headers.html": [
- "418044a14cdc4fc5d8cbfd54648a7c24981b9cbe",
+ "e727acd588ee7d7817be8bcf0ffaf6b77ea7fbbf",
"testharness"
],
"referrer-policy/generic/multiple-headers.html.headers": [
@@ -683312,11 +683458,11 @@
"support"
],
"referrer-policy/generic/referrer-policy-test-case.js": [
- "1345e71d31f7afb1a5e2109ef3739267e27740b6",
+ "6b5ae7f70f1441038f61b26bc2b29d7cdfe78f4e",
"support"
],
"referrer-policy/generic/sandboxed-iframe-with-opaque-origin.html": [
- "103627b21df00b578ac61bb3acc021254820ba66",
+ "da3455cb2a88e97b96b9da84c2ed4aa0d619ac3b",
"testharness"
],
"referrer-policy/generic/sanity-checker.js": [
@@ -683324,7 +683470,7 @@
"support"
],
"referrer-policy/generic/subresource-test/area-navigate.html": [
- "b7f05be9892b1766820d10154a733c80126ee8e7",
+ "936e2ef0f50cf0ee5d9a47094ce6fdf86fa5e387",
"testharness"
],
"referrer-policy/generic/subresource-test/attr-referrer-invalid-value.html": [
@@ -683332,113 +683478,41 @@
"testharness"
],
"referrer-policy/generic/subresource-test/fetch-messaging.html": [
- "2c12ae45510c7b1d226dd7d9878fc3dca9e3dadd",
+ "cc17b3d8de9846482a9af083ac4c5585bdb38287",
"testharness"
],
"referrer-policy/generic/subresource-test/iframe-messaging.html": [
- "3bfada318f2a2b76bfdfb79f53950881474c437a",
+ "45c5abc86441bd723acc4093bbd1500de129246b",
"testharness"
],
"referrer-policy/generic/subresource-test/image-decoding.html": [
- "807344dab9f14221f37bb7d731a8022fe9db9869",
+ "a9eec617d44d18c293af1b0c1bf180f5c9470f5e",
"testharness"
],
"referrer-policy/generic/subresource-test/link-navigate.html": [
- "8c5d2c8386608dd5b8eafbda88f15e0045b3f837",
+ "966547c3580a01933321f78e1a2ae05348412237",
"testharness"
],
"referrer-policy/generic/subresource-test/script-messaging.html": [
- "cdeb1a03ed3c3145c6c927cd851435aeac176640",
+ "0a93266e2c58021102abaebd335317c40a3dfbdc",
"testharness"
],
"referrer-policy/generic/subresource-test/worker-messaging.html": [
- "7ef9b381ae4f151ae409495b28bf7cee8db99a0e",
+ "c85cfca5c39fed22d708bd002ee668d4a1de8742",
"testharness"
],
"referrer-policy/generic/subresource-test/xhr-messaging.html": [
- "1bd1b4c724ea6da41cf3d42b30189649628d211e",
+ "dd48dec8e6ba24932fbb930006143124e3c7790f",
"testharness"
],
- "referrer-policy/generic/subresource/__init__.py": [
- "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
- "support"
- ],
- "referrer-policy/generic/subresource/document.py": [
- "b2d6c4dfabeafcf1d22a94141d52d04b669f5721",
- "support"
- ],
- "referrer-policy/generic/subresource/font.py": [
- "50a5bd2f3996133d4b5904166dc5672e5ae36031",
- "support"
- ],
- "referrer-policy/generic/subresource/image.py": [
- "7bc9c657e6b35528d63b6f2d72d73391dedfdf5b",
- "support"
- ],
- "referrer-policy/generic/subresource/script.py": [
- "efa1a955d466ef14e95f62734f2a2a7841fd67ed",
- "support"
- ],
- "referrer-policy/generic/subresource/shared-worker.py": [
- "66b6e66c6e30294da0bec0dffdd9025ae8fba9ac",
- "support"
- ],
- "referrer-policy/generic/subresource/stylesheet.py": [
- "54378216774e49ba564e393b4d1f879ae2d14763",
- "support"
- ],
- "referrer-policy/generic/subresource/subresource.py": [
- "9ba839a133d96d7373a707aa9c71e01b1569297e",
- "support"
- ],
- "referrer-policy/generic/subresource/svg.py": [
- "8618875c79f062205c57bac20a322b207914feea",
- "support"
- ],
- "referrer-policy/generic/subresource/worker.py": [
- "895bc0d84d12a99c146ba02776138248318b9c1d",
- "support"
- ],
- "referrer-policy/generic/subresource/xhr.py": [
- "45f38159c2ec56a3f447be33720aa545bbb78edb",
- "support"
- ],
"referrer-policy/generic/template/disclaimer.template": [
"66c43ed6f21324d44b1596c09a02fecf53f41323",
"support"
],
- "referrer-policy/generic/template/document.html.template": [
- "141711c1483fd13e87e95f151fe6f3191704d7c7",
- "support"
- ],
- "referrer-policy/generic/template/font.css.template": [
- "9b19df3cf1f54556f3c2409495d8b6abdd10d2fc",
- "support"
- ],
- "referrer-policy/generic/template/image.css.template": [
- "0eebd0a45264aa00b5072a8b489a84a85b778a54",
- "support"
- ],
- "referrer-policy/generic/template/script.js.template": [
- "e2edf21819dff6afc8a4f5816a0be58f987341ff",
- "support"
- ],
- "referrer-policy/generic/template/shared-worker.js.template": [
- "c3f109e4a90edd65cfa26d14dbe4e4252087b37c",
- "support"
- ],
"referrer-policy/generic/template/spec_json.js.template": [
"e4cbd03425968819d773460335404584d9d375fc",
"support"
],
- "referrer-policy/generic/template/svg.css.template": [
- "ffaefed4aa42aa62ca9d3dd9ff5bf989e75cbe01",
- "support"
- ],
- "referrer-policy/generic/template/svg.embedded.template": [
- "5986c4800a7add03db721f2bf116fe405e5d56cf",
- "support"
- ],
"referrer-policy/generic/template/test.debug.html.template": [
"ce7761b949df343162767f64612ec713805fbf10",
"support"
@@ -683455,10 +683529,6 @@
"fbc80bb25af678657dc5f417bb9a930496ca4875",
"support"
],
- "referrer-policy/generic/template/worker.js.template": [
- "817dd8c87ac81e1a13bbee7691d69fb2a021f527",
- "support"
- ],
"referrer-policy/generic/tools/__init__.py": [
"e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
"support"
@@ -683484,7 +683554,7 @@
"support"
],
"referrer-policy/generic/unsupported-csp-referrer-directive.html": [
- "f639ead4d4387c412734e3375569413f99cacf81",
+ "6c03a48e1c1a27667d14cd47c6117636eebd3a8b",
"testharness"
],
"referrer-policy/no-referrer-when-downgrade/attr-referrer/cross-origin/http-http/a-tag/no-redirect/insecure-protocol.http.html": [
@@ -697540,7 +697610,7 @@
"testharness"
],
"service-workers/service-worker/skip-waiting-using-registration.https.html": [
- "fe80a03846e8255108b11cd53170f8b10b915558",
+ "412ee2a4438e2328f69337893465c4a66c671ce6",
"testharness"
],
"service-workers/service-worker/skip-waiting-without-client.https.html": [
@@ -697548,7 +697618,7 @@
"testharness"
],
"service-workers/service-worker/skip-waiting-without-using-registration.https.html": [
- "b6362e6c317ca45202c2769f82ab9325a958cef2",
+ "ced64e5f67fb667e5c233055ad920dbda0336336",
"testharness"
],
"service-workers/service-worker/skip-waiting.https.html": [
@@ -698400,7 +698470,7 @@
"testharness"
],
"shape-detection/detection-options.html": [
- "31475575e3f42e1b63723c08031dd7833bb30bc8",
+ "704faf729294d78e1df7821e99baaf734d2ca59e",
"testharness"
],
"shape-detection/detection-security-test.html": [
@@ -699192,7 +699262,7 @@
"testharness"
],
"streams/readable-streams/tee.any.js": [
- "ba7813642b7d2ae164347608a34a7539fb246255",
+ "4a07f0f2bfb62c84eaf92d8b49ea5549ef653eb8",
"testharness"
],
"streams/readable-streams/templated.any.js": [
@@ -703487,10 +703557,6 @@
"e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
"support"
],
- "tools/ci/action_manifest_build.sh": [
- "ad6a4cb16e7b24cf6c67d52e50b9248c64b8e754",
- "support"
- ],
"tools/ci/azure/README.md": [
"afe5021efcad78a13d1767fb423d846557b92ee0",
"support"
@@ -703559,10 +703625,6 @@
"709cc2aa7e6867f548d4efdd62d74abc185e657b",
"support"
],
- "tools/ci/ci_lint.sh": [
- "bf98f209eba1330c9a69d13ed0ca9380e3ec24a2",
- "support"
- ],
"tools/ci/ci_resources_unittest.sh": [
"11190fc58d64491bae719f9ac91adb1e879886fb",
"support"
@@ -703591,12 +703653,12 @@
"d0a80ab46c7a86b476776d2dff0fcd23776dfc9e",
"support"
],
- "tools/ci/run_tc.py": [
- "32eef7cb69cf0d4450d3d177e891740cb42b4fd7",
+ "tools/ci/manifest_build.py": [
+ "98e7ce75e512c1568f3d7fa6ca94fa58e0c10835",
"support"
],
- "tools/ci/tag_master.py": [
- "d672d13fe2339ed6ae85324147cdf108fdccc8a4",
+ "tools/ci/run_tc.py": [
+ "1cfb41fcaaba55d9e1ee7d4722bb6c56aabeb459",
"support"
],
"tools/ci/taskcluster-run.py": [
@@ -708460,7 +708522,7 @@
"support"
],
"tools/wptrunner/requirements.txt": [
- "f2a336875f0ed137c40d79e3bab7f64e69b99d40",
+ "887068b34d28bdf875e42f440cedac478b9f411a",
"support"
],
"tools/wptrunner/requirements_chrome.txt": [
@@ -708912,7 +708974,7 @@
"support"
],
"tools/wptrunner/wptrunner/tests/test_products.py": [
- "d6a16a192cfa8c55265996ee393bdb81a83ffe29",
+ "5d2bcf075d0f572e8972eba5fdb4a5bd36b5db75",
"support"
],
"tools/wptrunner/wptrunner/tests/test_stability.py": [
@@ -708996,7 +709058,7 @@
"support"
],
"tools/wptrunner/wptrunner/wptmanifest/parser.py": [
- "e6c2e5b5ca28162e5df41c51a0b96dfcf6b3eabe",
+ "b16d96a42d4a5038b80a8807b3eb19fbfe17815e",
"support"
],
"tools/wptrunner/wptrunner/wptmanifest/serializer.py": [
@@ -709024,7 +709086,7 @@
"support"
],
"tools/wptrunner/wptrunner/wptmanifest/tests/test_tokenizer.py": [
- "b7c62c0041496be4f55f06699eabf9a3cf77d654",
+ "40a8acc6cabddd39b7c2d6711a53eb2dda1bd560",
"support"
],
"tools/wptrunner/wptrunner/wptrunner.py": [
@@ -711644,7 +711706,7 @@
"support"
],
"wake-lock/idlharness.https.any.js": [
- "5e3ae75064c5f9c2be1b96ce763868066352889b",
+ "fa47bd9b1e007518fb4c91328bf305e3afead449",
"testharness"
],
"wake-lock/wakelock-applicability-manual.https.html": [
@@ -713724,7 +713786,7 @@
"support"
],
"webauthn/idlharness.https.window.js": [
- "a228644b8cab9c348a7345a6eb481ced75ded2e5",
+ "fa5e812eeee1632488e0ad77d8d97c0e115ae021",
"testharness"
],
"webauthn/securecontext.http.html": [
diff --git a/tests/wpt/metadata/css/css-fonts/variations/at-font-face-font-matching.html.ini b/tests/wpt/metadata/css/css-fonts/variations/at-font-face-font-matching.html.ini
index 0cb0bf5dbeb..9c9a4ae75f9 100644
--- a/tests/wpt/metadata/css/css-fonts/variations/at-font-face-font-matching.html.ini
+++ b/tests/wpt/metadata/css/css-fonts/variations/at-font-face-font-matching.html.ini
@@ -5,9 +5,6 @@
[Descriptor mathcing priority: Stretch has higher priority than weight]
expected: FAIL
- [Matching font-weight: '400' should prefer '450 460' over '500']
- expected: FAIL
-
[Matching font-weight: '400' should prefer '500' over '350 399']
expected: FAIL
@@ -38,21 +35,12 @@
[Matching font-weight: '500' should prefer '501 550' over '502 560']
expected: FAIL
- [Matching font-weight: '501' should prefer '502 510' over '503 520']
- expected: FAIL
-
- [Matching font-weight: '501' should prefer '503 520' over '500']
- expected: FAIL
-
[Matching font-weight: '399' should prefer '200 300' over '400']
expected: FAIL
[Matching font-weight: '399' should prefer '400' over '450 460']
expected: FAIL
- [Matching font-weight: '399' should prefer '450 460' over '500 501']
- expected: FAIL
-
[Matching font-style: 'normal' should prefer 'oblique -50deg -20deg' over 'oblique -40deg -30deg']
expected: FAIL
@@ -149,9 +137,6 @@
[Matching font-stretch: '110%' should prefer '50% 80%' over '60% 70%']
expected: FAIL
- [Matching font-stretch: '90%' should prefer '90% 100%' over '50% 80%']
- expected: FAIL
-
[Matching font-stretch: '90%' should prefer '50% 80%' over '60% 70%']
expected: FAIL
@@ -296,9 +281,36 @@
[Matching font-weight: '501' should prefer '501' over '502 510']
expected: FAIL
- [Matching font-style: 'oblique 20deg' should prefer 'oblique 40deg 50deg' over 'oblique 10deg']
+ [Matching font-style: 'italic' should prefer 'oblique 30deg 60deg' over 'oblique 40deg 50deg']
expected: FAIL
- [Matching font-style: 'italic' should prefer 'oblique 30deg 60deg' over 'oblique 40deg 50deg']
+ [Matching font-style: 'italic' should prefer 'oblique 5deg' over 'normal']
+ expected: FAIL
+
+ [Matching font-style: 'oblique 20deg' should prefer 'oblique 20deg' over 'oblique 30deg 60deg']
+ expected: FAIL
+
+ [Matching font-style: 'oblique -10deg' should prefer 'oblique -60deg -30deg' over 'oblique -50deg -40deg']
+ expected: FAIL
+
+ [Matching font-style: 'normal' should prefer 'oblique 10deg 40deg' over 'oblique 20deg 30deg']
+ expected: FAIL
+
+ [Matching font-stretch: '100%' should prefer '110% 120%' over '115% 116%']
+ expected: FAIL
+
+ [Matching font-weight: '501' should prefer '450 460' over '390 410']
+ expected: FAIL
+
+ [Matching font-style: 'oblique -21deg' should prefer 'oblique -10deg' over 'italic']
+ expected: FAIL
+
+ [Matching font-style: 'oblique 21deg' should prefer 'oblique 0deg' over 'oblique -50deg -20deg']
+ expected: FAIL
+
+ [Matching font-style: 'oblique -10deg' should prefer 'oblique -1deg 0deg' over 'oblique -20deg -15deg']
+ expected: FAIL
+
+ [Matching font-style: 'oblique 0deg' should prefer 'italic' over 'oblique -50deg -20deg']
expected: FAIL
diff --git a/tests/wpt/metadata/css/css-transitions/transitions-animatable-properties-01.html.ini b/tests/wpt/metadata/css/css-transitions/transitions-animatable-properties-01.html.ini
index 8850ec200da..1c8f983cd37 100644
--- a/tests/wpt/metadata/css/css-transitions/transitions-animatable-properties-01.html.ini
+++ b/tests/wpt/metadata/css/css-transitions/transitions-animatable-properties-01.html.ini
@@ -74,3 +74,6 @@
[opacity end]
expected: FAIL
+ [outline-width end]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/cssom-view/elementsFromPoint-iframes.html.ini b/tests/wpt/metadata/css/cssom-view/elementsFromPoint-iframes.html.ini
index ff5b07adb77..e89282b04a1 100644
--- a/tests/wpt/metadata/css/cssom-view/elementsFromPoint-iframes.html.ini
+++ b/tests/wpt/metadata/css/cssom-view/elementsFromPoint-iframes.html.ini
@@ -1,5 +1,5 @@
[elementsFromPoint-iframes.html]
- expected: TIMEOUT
+ expected: CRASH
[elementsFromPoint on the root document for points in iframe elements]
expected: FAIL
diff --git a/tests/wpt/metadata/fetch/content-type/response.window.js.ini b/tests/wpt/metadata/fetch/content-type/response.window.js.ini
index 43c9d36c8fd..b57d51b415b 100644
--- a/tests/wpt/metadata/fetch/content-type/response.window.js.ini
+++ b/tests/wpt/metadata/fetch/content-type/response.window.js.ini
@@ -1,7 +1,7 @@
[response.window.html]
expected: TIMEOUT
[fetch(): combined response Content-Type: text/plain ]
- expected: FAIL
+ expected: NOTRUN
[Response: combined response Content-Type: text/plain;charset=gbk text/plain;charset=windows-1252]
expected: NOTRUN
@@ -22,7 +22,7 @@
expected: NOTRUN
[<iframe>: combined response Content-Type: text/plain */*;charset=gbk]
- expected: FAIL
+ expected: TIMEOUT
[fetch(): separate response Content-Type: text/html;x=" text/plain]
expected: NOTRUN
@@ -64,7 +64,7 @@
expected: NOTRUN
[fetch(): combined response Content-Type: text/html text/plain]
- expected: FAIL
+ expected: NOTRUN
[Request: combined response Content-Type: text/html;charset=gbk text/plain text/html]
expected: NOTRUN
@@ -76,19 +76,19 @@
expected: NOTRUN
[Response: combined response Content-Type: text/plain ]
- expected: FAIL
+ expected: NOTRUN
[fetch(): combined response Content-Type: text/plain;charset=gbk text/plain]
expected: NOTRUN
[Request: combined response Content-Type: text/html text/plain]
- expected: FAIL
+ expected: NOTRUN
[<iframe>: separate response Content-Type: text/plain */*]
- expected: FAIL
+ expected: TIMEOUT
[<iframe>: combined response Content-Type: text/plain;charset=gbk text/html;charset=windows-1254]
- expected: FAIL
+ expected: TIMEOUT
[Request: combined response Content-Type: text/plain */*]
expected: NOTRUN
@@ -118,13 +118,13 @@
expected: NOTRUN
[Response: combined response Content-Type: text/html text/plain]
- expected: TIMEOUT
+ expected: NOTRUN
[fetch(): separate response Content-Type: text/plain ]
- expected: FAIL
+ expected: TIMEOUT
[<iframe>: combined response Content-Type: text/plain;charset=gbk text/plain]
- expected: FAIL
+ expected: TIMEOUT
[fetch(): combined response Content-Type: text/html;" \\" text/plain]
expected: NOTRUN
@@ -142,7 +142,7 @@
expected: NOTRUN
[<iframe>: separate response Content-Type: text/plain;charset=gbk text/plain]
- expected: FAIL
+ expected: TIMEOUT
[Response: combined response Content-Type: text/plain]
expected: FAIL
@@ -163,7 +163,7 @@
expected: NOTRUN
[<iframe>: combined response Content-Type: text/html;" " text/plain]
- expected: FAIL
+ expected: TIMEOUT
[Request: combined response Content-Type: text/plain;charset=gbk;x=foo text/plain]
expected: NOTRUN
@@ -172,13 +172,13 @@
expected: NOTRUN
[<iframe>: combined response Content-Type: text/html;" \\" text/plain ";charset=GBK]
- expected: FAIL
+ expected: TIMEOUT
[Response: combined response Content-Type: text/html;x=" text/plain]
expected: NOTRUN
[<iframe>: combined response Content-Type: text/html;charset=gbk text/html;x=",text/plain]
- expected: FAIL
+ expected: TIMEOUT
[fetch(): separate response Content-Type: text/plain;charset=gbk text/plain]
expected: NOTRUN
@@ -202,7 +202,7 @@
expected: NOTRUN
[<iframe>: separate response Content-Type: text/html;" " text/plain]
- expected: FAIL
+ expected: TIMEOUT
[fetch(): separate response Content-Type: text/plain */*;charset=gbk]
expected: NOTRUN
@@ -214,7 +214,7 @@
expected: NOTRUN
[<iframe>: combined response Content-Type: text/plain;charset=gbk;x=foo text/plain]
- expected: FAIL
+ expected: TIMEOUT
[Request: combined response Content-Type: text/plain;charset=gbk text/html]
expected: NOTRUN
@@ -238,10 +238,10 @@
expected: NOTRUN
[<iframe>: separate response Content-Type: text/plain;charset=gbk;x=foo text/plain]
- expected: FAIL
+ expected: TIMEOUT
[Request: combined response Content-Type: text/plain ]
- expected: FAIL
+ expected: NOTRUN
[Response: combined response Content-Type: text/html */*;charset=gbk]
expected: NOTRUN
@@ -259,7 +259,7 @@
expected: NOTRUN
[<iframe>: separate response Content-Type: text/html;charset=gbk text/html;x=",text/plain]
- expected: FAIL
+ expected: TIMEOUT
[fetch(): separate response Content-Type: text/plain;charset=gbk text/html;charset=windows-1254]
expected: NOTRUN
@@ -277,16 +277,16 @@
expected: NOTRUN
[<iframe>: combined response Content-Type: text/plain */*]
- expected: FAIL
+ expected: TIMEOUT
[fetch(): separate response Content-Type: text/html text/plain]
- expected: FAIL
+ expected: NOTRUN
[Request: combined response Content-Type: text/html;" text/plain]
expected: NOTRUN
[<iframe>: separate response Content-Type: text/html;" \\" text/plain ";charset=GBK]
- expected: FAIL
+ expected: TIMEOUT
[fetch(): combined response Content-Type: text/html;" " text/plain]
expected: NOTRUN
@@ -295,7 +295,7 @@
expected: NOTRUN
[<iframe>: separate response Content-Type: text/plain;charset=gbk text/plain;charset=windows-1252]
- expected: FAIL
+ expected: TIMEOUT
[Response: combined response Content-Type: text/plain */*;charset=gbk]
expected: NOTRUN
@@ -310,8 +310,47 @@
expected: NOTRUN
[<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
- expected: FAIL
+ expected: TIMEOUT
[<iframe>: separate response Content-Type: text/html;" text/plain]
- expected: FAIL
+ expected: TIMEOUT
+
+ [<iframe>: combined response Content-Type: text/html;" text/plain]
+ expected: TIMEOUT
+
+ [<iframe>: combined response Content-Type: */* text/html]
+ expected: TIMEOUT
+
+ [<iframe>: combined response Content-Type: text/html;charset=gbk text/plain text/html]
+ expected: TIMEOUT
+
+ [<iframe>: combined response Content-Type: text/html */*]
+ expected: TIMEOUT
+
+ [<iframe>: separate response Content-Type: text/html */*;charset=gbk]
+ expected: TIMEOUT
+
+ [<iframe>: separate response Content-Type: text/html */*]
+ expected: TIMEOUT
+
+ [<iframe>: combined response Content-Type: text/html */*;charset=gbk]
+ expected: TIMEOUT
+
+ [<iframe>: separate response Content-Type: text/html;charset=gbk text/plain text/html]
+ expected: TIMEOUT
+
+ [<iframe>: separate response Content-Type: */* text/html]
+ expected: TIMEOUT
+
+ [<iframe>: separate response Content-Type: text/html;x=" text/plain]
+ expected: TIMEOUT
+
+ [<iframe>: combined response Content-Type: text/html;" \\" text/plain]
+ expected: TIMEOUT
+
+ [<iframe>: separate response Content-Type: text/html;" \\" text/plain]
+ expected: TIMEOUT
+
+ [<iframe>: combined response Content-Type: text/html;x=" text/plain]
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/javascript-url-abort/javascript-url-abort-return-value-undefined.tentative.html.ini b/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/javascript-url-abort/javascript-url-abort-return-value-undefined.tentative.html.ini
new file mode 100644
index 00000000000..78879bad5f1
--- /dev/null
+++ b/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/javascript-url-abort/javascript-url-abort-return-value-undefined.tentative.html.ini
@@ -0,0 +1,5 @@
+[javascript-url-abort-return-value-undefined.tentative.html]
+ expected: TIMEOUT
+ [Not aborting fetch for javascript:undefined navigation]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini
new file mode 100644
index 00000000000..75d75b4cda2
--- /dev/null
+++ b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini
@@ -0,0 +1,4 @@
+[traverse_the_history_2.html]
+ [Multiple history traversals, last would be aborted]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini
new file mode 100644
index 00000000000..385376c7321
--- /dev/null
+++ b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini
@@ -0,0 +1,4 @@
+[traverse_the_history_4.html]
+ [Multiple history traversals, last would be aborted]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini
new file mode 100644
index 00000000000..dc2e45516de
--- /dev/null
+++ b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini
@@ -0,0 +1,4 @@
+[traverse_the_history_5.html]
+ [Multiple history traversals, last would be aborted]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/html/browsers/the-window-object/closed-attribute.window.js.ini b/tests/wpt/metadata/html/browsers/the-window-object/closed-attribute.window.js.ini
index ede7a979848..0a61dc7e11e 100644
--- a/tests/wpt/metadata/html/browsers/the-window-object/closed-attribute.window.js.ini
+++ b/tests/wpt/metadata/html/browsers/the-window-object/closed-attribute.window.js.ini
@@ -1,5 +1,4 @@
[closed-attribute.window.html]
- expected: CRASH
[closed and cross-site nested browsing context]
expected: FAIL
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/playing-the-media-resource/loop-from-ended.tentative.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/media-elements/playing-the-media-resource/loop-from-ended.tentative.html.ini
new file mode 100644
index 00000000000..2e0a6add6fc
--- /dev/null
+++ b/tests/wpt/metadata/html/semantics/embedded-content/media-elements/playing-the-media-resource/loop-from-ended.tentative.html.ini
@@ -0,0 +1,4 @@
+[loop-from-ended.tentative.html]
+ [Test looping edge case to verify http://crbug.com/364442.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/html/semantics/scripting-1/the-script-element/script-onerror-insertion-point-2.html.ini b/tests/wpt/metadata/html/semantics/scripting-1/the-script-element/script-onerror-insertion-point-2.html.ini
deleted file mode 100644
index 178680e5d14..00000000000
--- a/tests/wpt/metadata/html/semantics/scripting-1/the-script-element/script-onerror-insertion-point-2.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[script-onerror-insertion-point-2.html]
- expected: TIMEOUT
diff --git a/tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/document-write/iframe_005.html.ini b/tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/document-write/iframe_005.html.ini
new file mode 100644
index 00000000000..6cf9d13975c
--- /dev/null
+++ b/tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/document-write/iframe_005.html.ini
@@ -0,0 +1,4 @@
+[iframe_005.html]
+ [document.write external script into iframe write back into parent]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/workers/semantics/multiple-workers/005.html.ini b/tests/wpt/metadata/workers/semantics/multiple-workers/005.html.ini
index f584fce5df1..268949ced5c 100644
--- a/tests/wpt/metadata/workers/semantics/multiple-workers/005.html.ini
+++ b/tests/wpt/metadata/workers/semantics/multiple-workers/005.html.ini
@@ -1,5 +1,4 @@
[005.html]
- expected: ERROR
[dedicated worker in shared worker in dedicated worker]
expected: FAIL
diff --git a/tests/wpt/mozilla/meta/css/transition_calc_implicit.html.ini b/tests/wpt/mozilla/meta/css/transition_calc_implicit.html.ini
deleted file mode 100644
index dbea4f293ad..00000000000
--- a/tests/wpt/mozilla/meta/css/transition_calc_implicit.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[transition_calc_implicit.html]
- expected: TIMEOUT
diff --git a/tests/wpt/web-platform-tests/.github/main.workflow b/tests/wpt/web-platform-tests/.github/main.workflow
index b1b61554f91..4ff7845b9d2 100644
--- a/tests/wpt/web-platform-tests/.github/main.workflow
+++ b/tests/wpt/web-platform-tests/.github/main.workflow
@@ -1,16 +1,10 @@
workflow "Build & Release Manifest" {
on = "push"
- resolves = ["tag-master"]
+ resolves = ["manifest-build-and-tag"]
}
-action "build-manifest" {
+action "manifest-build-and-tag" {
uses = "./tools/docker/github"
- runs = ["bash", "-c", "tools/ci/action_manifest_build.sh"]
-}
-
-action "tag-master" {
- needs = "build-manifest"
- uses = "./tools/docker/github"
- runs = ["python", "tools/ci/tag_master.py"]
+ runs = ["python", "tools/ci/manifest_build.py"]
secrets = ["GITHUB_TOKEN"]
}
diff --git a/tests/wpt/web-platform-tests/.taskcluster.yml b/tests/wpt/web-platform-tests/.taskcluster.yml
index 6ad97f7e104..89e51c8c71c 100644
--- a/tests/wpt/web-platform-tests/.taskcluster.yml
+++ b/tests/wpt/web-platform-tests/.taskcluster.yml
@@ -198,14 +198,22 @@ tasks:
- name: lint
description: >-
Lint for wpt-specific requirements
- script: ./tools/ci/run_tc.py --no-hosts lint tools/ci/ci_lint.sh
+ script: >-
+ ./tools/ci/run_tc.py \
+ --no-hosts \
+ lint \
+ ./wpt lint --all
conditions:
push
pull-request
- name: update built tests
description: >-
Ensure test suites that require a build step are updated
- script: ./tools/ci/run_tc.py --no-hosts update_built tools/ci/ci_built_diff.sh
+ script: >-
+ ./tools/ci/run_tc.py \
+ --no-hosts \
+ update_built \
+ tools/ci/ci_built_diff.sh
conditions:
pull-request
- name: tools/ unittests (Python 2)
diff --git a/tests/wpt/web-platform-tests/referrer-policy/generic/subresource/__init__.py b/tests/wpt/web-platform-tests/common/security-features/subresource/__init__.py
index e69de29bb2d..e69de29bb2d 100755
--- a/tests/wpt/web-platform-tests/referrer-policy/generic/subresource/__init__.py
+++ b/tests/wpt/web-platform-tests/common/security-features/subresource/__init__.py
diff --git a/tests/wpt/web-platform-tests/common/security-features/subresource/audio.py b/tests/wpt/web-platform-tests/common/security-features/subresource/audio.py
new file mode 100644
index 00000000000..eb95045e031
--- /dev/null
+++ b/tests/wpt/web-platform-tests/common/security-features/subresource/audio.py
@@ -0,0 +1,18 @@
+import os, sys
+sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
+import subresource
+
+def generate_payload(request, server_data):
+ file = os.path.join(request.doc_root, "webaudio", "resources",
+ "sin_440Hz_-6dBFS_1s.wav")
+ return open(file, "rb").read()
+
+
+def main(request, response):
+ handler = lambda data: generate_payload(request, data)
+ subresource.respond(request,
+ response,
+ payload_generator = handler,
+ access_control_allow_origin = "*",
+ content_type = "audio/wav")
+
diff --git a/tests/wpt/web-platform-tests/referrer-policy/generic/subresource/document.py b/tests/wpt/web-platform-tests/common/security-features/subresource/document.py
index b2d6c4dfabe..59e0dcd7bc6 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/generic/subresource/document.py
+++ b/tests/wpt/web-platform-tests/common/security-features/subresource/document.py
@@ -1,6 +1,5 @@
-import os, json, sys
+import os, sys
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
-
import subresource
def generate_payload(server_data):
diff --git a/tests/wpt/web-platform-tests/common/security-features/subresource/empty.py b/tests/wpt/web-platform-tests/common/security-features/subresource/empty.py
new file mode 100644
index 00000000000..132e85ddeec
--- /dev/null
+++ b/tests/wpt/web-platform-tests/common/security-features/subresource/empty.py
@@ -0,0 +1,14 @@
+import os, sys
+sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
+import subresource
+
+def generate_payload(server_data):
+ return ''
+
+def main(request, response):
+ subresource.respond(request,
+ response,
+ payload_generator = generate_payload,
+ access_control_allow_origin = "*",
+ content_type = "text/plain")
+
diff --git a/tests/wpt/web-platform-tests/referrer-policy/generic/subresource/font.py b/tests/wpt/web-platform-tests/common/security-features/subresource/font.py
index 50a5bd2f399..26311a9f079 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/generic/subresource/font.py
+++ b/tests/wpt/web-platform-tests/common/security-features/subresource/font.py
@@ -1,4 +1,4 @@
-import os, sys, json, base64
+import os, sys, base64
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
import subresource
diff --git a/tests/wpt/web-platform-tests/referrer-policy/generic/subresource/image.py b/tests/wpt/web-platform-tests/common/security-features/subresource/image.py
index 7bc9c657e6b..d1328894123 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/generic/subresource/image.py
+++ b/tests/wpt/web-platform-tests/common/security-features/subresource/image.py
@@ -1,4 +1,4 @@
-import os, sys, array, json, math, StringIO
+import os, sys, array, math, StringIO
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
import subresource
diff --git a/tests/wpt/web-platform-tests/referrer-policy/generic/subresource/script.py b/tests/wpt/web-platform-tests/common/security-features/subresource/script.py
index efa1a955d46..9d7cd0469f0 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/generic/subresource/script.py
+++ b/tests/wpt/web-platform-tests/common/security-features/subresource/script.py
@@ -1,4 +1,4 @@
-import os, sys, json
+import os, sys
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
import subresource
diff --git a/tests/wpt/web-platform-tests/referrer-policy/generic/subresource/shared-worker.py b/tests/wpt/web-platform-tests/common/security-features/subresource/shared-worker.py
index 66b6e66c6e3..d8fd6876449 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/generic/subresource/shared-worker.py
+++ b/tests/wpt/web-platform-tests/common/security-features/subresource/shared-worker.py
@@ -1,4 +1,4 @@
-import os, sys, json
+import os, sys
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
import subresource
diff --git a/tests/wpt/web-platform-tests/referrer-policy/generic/subresource/stylesheet.py b/tests/wpt/web-platform-tests/common/security-features/subresource/stylesheet.py
index 54378216774..ec62a8cd5f2 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/generic/subresource/stylesheet.py
+++ b/tests/wpt/web-platform-tests/common/security-features/subresource/stylesheet.py
@@ -1,4 +1,4 @@
-import os, sys, json
+import os, sys
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
import subresource
@@ -23,23 +23,9 @@ def generate_payload(request, server_data):
"property": request.GET["property"]}
def generate_import_rule(request, server_data):
- type = 'image'
- property = None;
- if "type" in request.GET:
- type = request.GET["type"]
- if type == "svg" and "property" in request.GET:
- property = request.GET["property"]
- if property is None:
- return "@import url('%(url)s?id=%(id)s&type=%(type)s');" % {
- "id": request.GET["id"],
- "url": subresource.create_redirect_url(request, cross_origin = True),
- "type": type
- }
- return "@import url('%(url)s?id=%(id)s&type=%(type)s&property=%(property)s');" % {
- "id": request.GET["id"],
- "url": subresource.create_redirect_url(request, cross_origin = True),
- "type": type,
- "property": property
+ return "@import url('%(url)s');" % {
+ "url": subresource.create_url(request, swap_origin=True,
+ query_parameter_to_remove="import-rule")
}
def generate_report_headers_payload(request, server_data):
diff --git a/tests/wpt/web-platform-tests/referrer-policy/generic/subresource/subresource.py b/tests/wpt/web-platform-tests/common/security-features/subresource/subresource.py
index 9ba839a133d..f11f3250568 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/generic/subresource/subresource.py
+++ b/tests/wpt/web-platform-tests/common/security-features/subresource/subresource.py
@@ -1,48 +1,68 @@
-import os, sys, json, urlparse, urllib
+import os, json, urllib, urlparse
def get_template(template_basename):
script_directory = os.path.dirname(os.path.abspath(__file__))
template_directory = os.path.abspath(os.path.join(script_directory,
- "..",
"template"))
template_filename = os.path.join(template_directory, template_basename);
with open(template_filename, "r") as f:
return f.read()
+
+def redirect(url, response):
+ response.add_required_headers = False
+ response.writer.write_status(301)
+ response.writer.write_header("access-control-allow-origin", "*")
+ response.writer.write_header("location", url)
+ response.writer.end_headers()
+ response.writer.write("")
+
+
# TODO(kristijanburnik): subdomain_prefix is a hardcoded value aligned with
# referrer-policy-test-case.js. The prefix should be configured in one place.
-def get_swapped_origin_netloc(netloc, subdomain_prefix = "www1."):
+def __get_swapped_origin_netloc(netloc, subdomain_prefix = "www1."):
if netloc.startswith(subdomain_prefix):
return netloc[len(subdomain_prefix):]
else:
return subdomain_prefix + netloc
-def create_redirect_url(request, cross_origin = False):
+
+# Creates a URL (typically a redirect target URL) that is the same as the
+# current request URL `request.url`, except for:
+# - When `swap_scheme` or `swap_origin` is True, its scheme/origin is changed
+# to the other one. (http <-> https, ws <-> wss, etc.)
+# - `query_parameter_to_remove` parameter is removed from query part.
+# Its default is "redirection" to avoid redirect loops.
+def create_url(request, swap_scheme = False, swap_origin = False,
+ query_parameter_to_remove = "redirection"):
parsed = urlparse.urlsplit(request.url)
destination_netloc = parsed.netloc
- if cross_origin:
- destination_netloc = get_swapped_origin_netloc(parsed.netloc)
+
+ scheme = parsed.scheme
+ if swap_scheme:
+ scheme = "http" if parsed.scheme == "https" else "https"
+ hostname = parsed.netloc.split(':')[0]
+ port = request.server.config["ports"][scheme][0]
+ destination_netloc = ":".join([hostname, str(port)])
+
+ if swap_origin:
+ destination_netloc = __get_swapped_origin_netloc(destination_netloc)
+
+ parsed_query = urlparse.parse_qsl(parsed.query, keep_blank_values=True)
+ parsed_query = filter(lambda x: x[0] != query_parameter_to_remove,
+ parsed_query)
destination_url = urlparse.urlunsplit(urlparse.SplitResult(
- scheme = parsed.scheme,
+ scheme = scheme,
netloc = destination_netloc,
path = parsed.path,
- query = None,
+ query = urllib.urlencode(parsed_query),
fragment = None))
return destination_url
-def redirect(url, response):
- response.add_required_headers = False
- response.writer.write_status(301)
- response.writer.write_header("access-control-allow-origin", "*")
- response.writer.write_header("location", url)
- response.writer.end_headers()
- response.writer.write("")
-
-
def preprocess_redirection(request, response):
if "redirection" not in request.GET:
return False
@@ -51,10 +71,14 @@ def preprocess_redirection(request, response):
if redirection == "no-redirect":
return False
+ elif redirection == "keep-scheme-redirect":
+ redirect_url = create_url(request, swap_scheme=False)
+ elif redirection == "swap-scheme-redirect":
+ redirect_url = create_url(request, swap_scheme=True)
elif redirection == "keep-origin-redirect":
- redirect_url = create_redirect_url(request, cross_origin = False)
+ redirect_url = create_url(request, swap_origin=False)
elif redirection == "swap-origin-redirect":
- redirect_url = create_redirect_url(request, cross_origin = True)
+ redirect_url = create_url(request, swap_origin=True)
else:
raise ValueError("Invalid redirection type '%s'" % redirection)
@@ -62,6 +86,43 @@ def preprocess_redirection(request, response):
return True
+def preprocess_stash_action(request, response):
+ if "action" not in request.GET:
+ return False
+
+ action = request.GET["action"]
+
+ key = request.GET["key"]
+ stash = request.server.stash
+ path = request.GET.get("path", request.url.split('?'))[0]
+
+ if action == "put":
+ value = request.GET["value"]
+ stash.take(key=key, path=path)
+ stash.put(key=key, value=value, path=path)
+ response_data = json.dumps({"status": "success", "result": key})
+ elif action == "purge":
+ value = stash.take(key=key, path=path)
+ return False
+ elif action == "take":
+ value = stash.take(key=key, path=path)
+ if value is None:
+ status = "allowed"
+ else:
+ status = "blocked"
+ response_data = json.dumps({"status": status, "result": value})
+ else:
+ return False
+
+ response.add_required_headers = False
+ response.writer.write_status(200)
+ response.writer.write_header("content-type", "text/javascript")
+ response.writer.write_header("cache-control", "no-cache; must-revalidate")
+ response.writer.end_headers()
+ response.writer.write(response_data)
+ return True
+
+
def __noop(request, response):
return ""
@@ -77,6 +138,9 @@ def respond(request,
if preprocess_redirection(request, response):
return
+ if preprocess_stash_action(request, response):
+ return
+
response.add_required_headers = False
response.writer.write_status(status_code)
diff --git a/tests/wpt/web-platform-tests/referrer-policy/generic/subresource/svg.py b/tests/wpt/web-platform-tests/common/security-features/subresource/svg.py
index 8618875c79f..6353079bb89 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/generic/subresource/svg.py
+++ b/tests/wpt/web-platform-tests/common/security-features/subresource/svg.py
@@ -1,4 +1,4 @@
-import os, sys, json
+import os, sys
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
import subresource
diff --git a/tests/wpt/web-platform-tests/referrer-policy/generic/template/document.html.template b/tests/wpt/web-platform-tests/common/security-features/subresource/template/document.html.template
index 141711c1483..141711c1483 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/generic/template/document.html.template
+++ b/tests/wpt/web-platform-tests/common/security-features/subresource/template/document.html.template
diff --git a/tests/wpt/web-platform-tests/referrer-policy/generic/template/font.css.template b/tests/wpt/web-platform-tests/common/security-features/subresource/template/font.css.template
index 9b19df3cf1f..9d1e9c421cc 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/generic/template/font.css.template
+++ b/tests/wpt/web-platform-tests/common/security-features/subresource/template/font.css.template
@@ -2,7 +2,7 @@
font-family: 'wpt';
font-style: normal;
font-weight: normal;
- src: url(/referrer-policy/generic/subresource/font.py?id=%(id)s) format('truetype');
+ src: url(/common/security-features/subresource/font.py?id=%(id)s) format('truetype');
}
body {
font-family: 'wpt';
diff --git a/tests/wpt/web-platform-tests/common/security-features/subresource/template/image.css.template b/tests/wpt/web-platform-tests/common/security-features/subresource/template/image.css.template
new file mode 100644
index 00000000000..dfe41f1bf16
--- /dev/null
+++ b/tests/wpt/web-platform-tests/common/security-features/subresource/template/image.css.template
@@ -0,0 +1,3 @@
+div.styled::before {
+ content:url(/common/security-features/subresource/image.py?id=%(id)s)
+}
diff --git a/tests/wpt/web-platform-tests/referrer-policy/generic/template/script.js.template b/tests/wpt/web-platform-tests/common/security-features/subresource/template/script.js.template
index e2edf21819d..e2edf21819d 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/generic/template/script.js.template
+++ b/tests/wpt/web-platform-tests/common/security-features/subresource/template/script.js.template
diff --git a/tests/wpt/web-platform-tests/referrer-policy/generic/template/shared-worker.js.template b/tests/wpt/web-platform-tests/common/security-features/subresource/template/shared-worker.js.template
index c3f109e4a90..c3f109e4a90 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/generic/template/shared-worker.js.template
+++ b/tests/wpt/web-platform-tests/common/security-features/subresource/template/shared-worker.js.template
diff --git a/tests/wpt/web-platform-tests/common/security-features/subresource/template/svg.css.template b/tests/wpt/web-platform-tests/common/security-features/subresource/template/svg.css.template
new file mode 100644
index 00000000000..c2e509cc3b8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/common/security-features/subresource/template/svg.css.template
@@ -0,0 +1,3 @@
+path {
+ %(property)s: url(/common/security-features/subresource/svg.py?id=%(id)s#invalidFragment);
+}
diff --git a/tests/wpt/web-platform-tests/referrer-policy/generic/template/svg.embedded.template b/tests/wpt/web-platform-tests/common/security-features/subresource/template/svg.embedded.template
index 5986c4800a7..5986c4800a7 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/generic/template/svg.embedded.template
+++ b/tests/wpt/web-platform-tests/common/security-features/subresource/template/svg.embedded.template
diff --git a/tests/wpt/web-platform-tests/referrer-policy/generic/template/worker.js.template b/tests/wpt/web-platform-tests/common/security-features/subresource/template/worker.js.template
index 817dd8c87ac..817dd8c87ac 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/generic/template/worker.js.template
+++ b/tests/wpt/web-platform-tests/common/security-features/subresource/template/worker.js.template
diff --git a/tests/wpt/web-platform-tests/common/security-features/subresource/video.py b/tests/wpt/web-platform-tests/common/security-features/subresource/video.py
new file mode 100644
index 00000000000..c8d8548ac3e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/common/security-features/subresource/video.py
@@ -0,0 +1,17 @@
+import os, sys
+sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
+import subresource
+
+def generate_payload(request, server_data):
+ file = os.path.join(request.doc_root, "media", "movie_5.ogv")
+ return open(file, "rb").read()
+
+
+def main(request, response):
+ handler = lambda data: generate_payload(request, data)
+ subresource.respond(request,
+ response,
+ payload_generator = handler,
+ access_control_allow_origin = "*",
+ content_type = "video/ogg")
+
diff --git a/tests/wpt/web-platform-tests/referrer-policy/generic/subresource/worker.py b/tests/wpt/web-platform-tests/common/security-features/subresource/worker.py
index 895bc0d84d1..85c1f67a967 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/generic/subresource/worker.py
+++ b/tests/wpt/web-platform-tests/common/security-features/subresource/worker.py
@@ -1,4 +1,4 @@
-import os, sys, json
+import os, sys
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
import subresource
diff --git a/tests/wpt/web-platform-tests/referrer-policy/generic/subresource/xhr.py b/tests/wpt/web-platform-tests/common/security-features/subresource/xhr.py
index 45f38159c2e..82a4cb0b657 100755
--- a/tests/wpt/web-platform-tests/referrer-policy/generic/subresource/xhr.py
+++ b/tests/wpt/web-platform-tests/common/security-features/subresource/xhr.py
@@ -1,4 +1,4 @@
-import os, sys, json
+import os, sys
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
import subresource
diff --git a/tests/wpt/web-platform-tests/css/css-contain/contain-size-flexbox-002.html b/tests/wpt/web-platform-tests/css/css-contain/contain-size-flexbox-002.html
new file mode 100644
index 00000000000..531af691afe
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-contain/contain-size-flexbox-002.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<title>Tests that scrollbars are handled correctly in a flex item with contains:size</title>
+<link rel="author" title="Google LLC" href="https://www.google.com">
+<link rel="help" href="https://www.w3.org/TR/css-contain-1/#containment-size">
+<link rel="match" href="reference/contain-size-flexbox-002-ref.html">
+
+<style>
+div > div {
+ vertical-align: top;
+ display: inline-block;
+ contain: size;
+ overflow: scroll;
+ border: 1px solid;
+}
+</style>
+
+<p>Test passes if the two lines below look the same.</p>
+
+<div style="display: flex; line-height: 1.0;">
+ <div></div>
+</div>
+
+<div style="line-height: 1.0;">
+ <div></div>
+</div>
diff --git a/tests/wpt/web-platform-tests/css/css-contain/reference/contain-size-flexbox-002-ref.html b/tests/wpt/web-platform-tests/css/css-contain/reference/contain-size-flexbox-002-ref.html
new file mode 100644
index 00000000000..a75fa26c9ff
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-contain/reference/contain-size-flexbox-002-ref.html
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<title>Tests that scrollbars are handled correctly in a flex item with contains:size</title>
+<link rel="author" title="Google LLC" href="https://www.google.com">
+
+<style>
+div > div {
+ vertical-align: top;
+ display: inline-block;
+ contain: size;
+ overflow: scroll;
+ border: 1px solid;
+}
+</style>
+
+<p>Test passes if the two lines below look the same.</p>
+
+<div style="line-height: 1.0;">
+ <div></div>
+</div>
+
+<div style="line-height: 1.0;">
+ <div></div>
+</div>
diff --git a/tests/wpt/web-platform-tests/css/css-tables/border-collapse-rowspan-cell-ref.html b/tests/wpt/web-platform-tests/css/css-tables/border-collapse-rowspan-cell-ref.html
new file mode 100644
index 00000000000..53774da48a3
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-tables/border-collapse-rowspan-cell-ref.html
@@ -0,0 +1,22 @@
+<!doctype HTML>
+<title>CSS Reference</title>
+<style>
+ table {
+ border-collapse: collapse;
+ }
+
+ td {
+ border: 1px solid red;
+ }
+</style>
+<table>
+ <tr>
+ <td id=target rowspan="2">
+ Needs border
+ </td>
+ </tr>
+ <tr>
+ <td>
+ </td>
+ </tr>
+</table>
diff --git a/tests/wpt/web-platform-tests/css/css-tables/border-collapse-rowspan-cell.html b/tests/wpt/web-platform-tests/css/css-tables/border-collapse-rowspan-cell.html
new file mode 100644
index 00000000000..8a4bdede0ea
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-tables/border-collapse-rowspan-cell.html
@@ -0,0 +1,26 @@
+<!doctype HTML>
+<title>CSS Test: collapsed borders of row-spanning cells should paint correctly.</title>
+<link rel="author" title="Chris Harrelson" href="chrishtr@chromium.org">
+<link rel="match" href="border-collapse-rowspan-cell-ref.html">
+<link rel="help" href="https://drafts.csswg.org/css-tables/#slot">
+<style>
+ table {
+ border-collapse: collapse;
+ }
+
+ td {
+ border: 1px solid red;
+ position: relative;
+ }
+</style>
+<table>
+ <tr>
+ <td rowspan="2">
+ Needs border
+ </td>
+ </tr>
+ <tr>
+ <td>
+ </td>
+ </tr>
+</table>
diff --git a/tests/wpt/web-platform-tests/fetch/corb/img-mime-types-coverage.tentative.sub.html b/tests/wpt/web-platform-tests/fetch/corb/img-mime-types-coverage.tentative.sub.html
index 223a0a375c3..6d7fd60f449 100644
--- a/tests/wpt/web-platform-tests/fetch/corb/img-mime-types-coverage.tentative.sub.html
+++ b/tests/wpt/web-platform-tests/fetch/corb/img-mime-types-coverage.tentative.sub.html
@@ -19,6 +19,7 @@
// MIME-types not protected by CORB
"image/gif", "image/png", "image/png;blah", "image/svg+xml",
"application/javascript", "application/jsonp",
+ "application/dash+xml", // video format
"image/gif;HI=THERE",
// MIME types that may seem to be JSON or XML, but really aren't - i.e.
diff --git a/tests/wpt/web-platform-tests/fetch/sec-metadata/img.tentative.https.sub.html b/tests/wpt/web-platform-tests/fetch/sec-metadata/img.tentative.https.sub.html
index 717e385bd04..b9fc1af2f3b 100644
--- a/tests/wpt/web-platform-tests/fetch/sec-metadata/img.tentative.https.sub.html
+++ b/tests/wpt/web-platform-tests/fetch/sec-metadata/img.tentative.https.sub.html
@@ -9,7 +9,7 @@
// encode their request headers in their pixels. Fun stuff!
promise_test(() =>
loadImageInWindow(
- "https://{{host}}:{{ports[https][0]}}/referrer-policy/generic/subresource/image.py",
+ "https://{{host}}:{{ports[https][0]}}/common/security-features/subresource/image.py",
[],
window)
.then(img => {
@@ -33,7 +33,7 @@
promise_test(() =>
loadImageInWindow(
- "https://{{hosts[][www]}}:{{ports[https][0]}}/referrer-policy/generic/subresource/image.py",
+ "https://{{hosts[][www]}}:{{ports[https][0]}}/common/security-features/subresource/image.py",
[],
window)
.then(img => {
@@ -57,7 +57,7 @@
promise_test(() =>
loadImageInWindow(
- "https://{{hosts[alt][www]}}:{{ports[https][0]}}/referrer-policy/generic/subresource/image.py",
+ "https://{{hosts[alt][www]}}:{{ports[https][0]}}/common/security-features/subresource/image.py",
[],
window)
.then(img => {
diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/playing-the-media-resource/loop-from-ended.tentative.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/playing-the-media-resource/loop-from-ended.tentative.html
new file mode 100644
index 00000000000..03a9b5d4544
--- /dev/null
+++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/playing-the-media-resource/loop-from-ended.tentative.html
@@ -0,0 +1,55 @@
+<!DOCTYPE html>
+<title>Test looping edge case to verify http://crbug.com/364442.</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/common/media.js"></script>
+<video></video>
+<script>
+// Seek towards end of video (for faster testing).
+// Play video to end with "loop" set to false.
+// Once ended, set "loop" to true. Call play.
+// Verify that "seeked" event fires, seeking back to the beginning.
+// Pause video and end test.
+async_test(function(t) {
+ var video = document.querySelector("video");
+
+ video.onloadedmetadata = t.step_func(function() {
+ // Video is initially paused and "loop" unset.
+ assert_true(video.paused, "paused initially ");
+ assert_false(video.loop, "loop initially");
+ // Seek to just before the end of the video and play.
+ video.currentTime = video.duration - 0.5;
+ video.onended = t.step_func(function() {
+ // Verify played to end and stopped.
+ assert_true(video.ended, "ended at ended event");
+ assert_true(video.paused, "paused at ended event");
+ assert_equals(video.currentTime, video.duration, "currentTime at ended event");
+
+ // With playback ended, set "loop" attribute. This will cause ended == false.
+ // looping video cannot be "ended", only paused.
+ assert_false(video.loop, "loop at ended event");
+ video.loop = true;
+ assert_true(video.loop, "loop after seek");
+ assert_false(video.ended, "ended after seek");
+ assert_true(video.paused, "paused after seek");
+
+ video.onseeked = t.step_func_done(function() {
+ // Observed seek. Verify current time decreased and still playing.
+ assert_true(video.loop, "loop at seeked event")
+ assert_false(video.paused, "paused at seeked event");
+ assert_false(video.ended, "ended at seeked event");
+ assert_less_than(video.currentTime, video.duration, "currentTime at seeked event");
+ // Pausing now that test is over to prevent additional unwanted looping.
+ video.pause();
+ });
+
+ // Play video with "loop" set. Expect seek back to start.
+ video.play();
+ });
+
+ video.play();
+ });
+
+ video.src = getVideoURI("/media/movie_5");
+});
+</script>
diff --git a/tests/wpt/web-platform-tests/interfaces/wake-lock.idl b/tests/wpt/web-platform-tests/interfaces/wake-lock.idl
index 7ef19dc6475..202dc6b09f7 100644
--- a/tests/wpt/web-platform-tests/interfaces/wake-lock.idl
+++ b/tests/wpt/web-platform-tests/interfaces/wake-lock.idl
@@ -11,6 +11,7 @@ enum WakeLockType { "screen", "system" };
[Constructor(WakeLockType type), SecureContext, Exposed=(DedicatedWorker,Window)]
interface WakeLock : EventTarget {
+ [Exposed=Window] static Promise<PermissionState> requestPermission(WakeLockType type);
readonly attribute WakeLockType type;
readonly attribute boolean active;
attribute EventHandler onactivechange;
diff --git a/tests/wpt/web-platform-tests/interfaces/webxr.idl b/tests/wpt/web-platform-tests/interfaces/webxr.idl
index 7594489a36d..8a3264073e8 100644
--- a/tests/wpt/web-platform-tests/interfaces/webxr.idl
+++ b/tests/wpt/web-platform-tests/interfaces/webxr.idl
@@ -149,8 +149,7 @@ interface XRRigidTransform {
readonly attribute DOMPointReadOnly position;
readonly attribute DOMPointReadOnly orientation;
readonly attribute Float32Array matrix;
-
- XRRigidTransform inverse();
+ readonly attribute XRRigidTransform inverse;
};
[SecureContext, Exposed=Window,
diff --git a/tests/wpt/web-platform-tests/mixed-content/generic/expect.py b/tests/wpt/web-platform-tests/mixed-content/generic/expect.py
deleted file mode 100644
index 2c360c1d931..00000000000
--- a/tests/wpt/web-platform-tests/mixed-content/generic/expect.py
+++ /dev/null
@@ -1,106 +0,0 @@
-import json, os, urllib, urlparse
-
-def redirect(url, response):
- response.add_required_headers = False
- response.writer.write_status(301)
- response.writer.write_header("access-control-allow-origin", "*")
- response.writer.write_header("location", url)
- response.writer.end_headers()
- response.writer.write("")
-
-def create_redirect_url(request, swap_scheme = False):
- parsed = urlparse.urlsplit(request.url)
- destination_netloc = parsed.netloc
- scheme = parsed.scheme
-
- if swap_scheme:
- scheme = "http" if parsed.scheme == "https" else "https"
- hostname = parsed.netloc.split(':')[0]
- port = request.server.config["ports"][scheme][0]
- destination_netloc = ":".join([hostname, str(port)])
-
- # Remove "redirection" from query to avoid redirect loops.
- parsed_query = dict(urlparse.parse_qsl(parsed.query))
- assert "redirection" in parsed_query
- del parsed_query["redirection"]
-
- destination_url = urlparse.urlunsplit(urlparse.SplitResult(
- scheme = scheme,
- netloc = destination_netloc,
- path = parsed.path,
- query = urllib.urlencode(parsed_query),
- fragment = None))
-
- return destination_url
-
-def main(request, response):
- if "redirection" in request.GET:
- redirection = request.GET["redirection"]
- if redirection == "no-redirect":
- pass
- elif redirection == "keep-scheme-redirect":
- redirect(create_redirect_url(request, swap_scheme=False), response)
- return
- elif redirection == "swap-scheme-redirect":
- redirect(create_redirect_url(request, swap_scheme=True), response)
- return
- else:
- raise ValueError ("Invalid redirect type: %s" % redirection)
-
- content_type = "text/plain"
- response_data = ""
-
- if "action" in request.GET:
- action = request.GET["action"]
-
- if "content_type" in request.GET:
- content_type = request.GET["content_type"]
-
- key = request.GET["key"]
- stash = request.server.stash
- path = request.GET.get("path", request.url.split('?'))[0]
-
- if action == "put":
- value = request.GET["value"]
- stash.take(key=key, path=path)
- stash.put(key=key, value=value, path=path)
- response_data = json.dumps({"status": "success", "result": key})
- elif action == "purge":
- value = stash.take(key=key, path=path)
- if content_type == "image/png":
- response_data = open(os.path.join(request.doc_root,
- "images",
- "smiley.png"), "rb").read()
- elif content_type == "audio/wav":
- response_data = open(os.path.join(request.doc_root,
- "webaudio", "resources", "sin_440Hz_-6dBFS_1s.wav"), "rb").read()
- elif content_type == "video/ogg":
- response_data = open(os.path.join(request.doc_root,
- "media",
- "movie_5.ogv"), "rb").read()
- elif content_type == "application/javascript":
- response_data = open(os.path.join(request.doc_root,
- "mixed-content",
- "generic",
- "worker.js"), "rb").read()
- elif content_type == "text/javascript":
- response_data = open(os.path.join(request.doc_root,
- "mixed-content",
- "generic",
- "script.js"), "rb").read()
- else:
- response_data = "/* purged */"
- elif action == "take":
- value = stash.take(key=key, path=path)
- if value is None:
- status = "allowed"
- else:
- status = "blocked"
- response_data = json.dumps({"status": status, "result": value})
-
- response.add_required_headers = False
- response.writer.write_status(200)
- response.writer.write_header("content-type", content_type)
- response.writer.write_header("cache-control", "no-cache; must-revalidate")
- response.writer.end_headers()
- response.writer.write(response_data)
diff --git a/tests/wpt/web-platform-tests/mixed-content/generic/mixed-content-test-case.js b/tests/wpt/web-platform-tests/mixed-content/generic/mixed-content-test-case.js
index b2c0bcdea1e..a50b61c7e76 100644
--- a/tests/wpt/web-platform-tests/mixed-content/generic/mixed-content-test-case.js
+++ b/tests/wpt/web-platform-tests/mixed-content/generic/mixed-content-test-case.js
@@ -21,43 +21,33 @@ function wrapResult(server_data) {
* @return {object} Object wrapping the start method used to run the test.
*/
function MixedContentTestCase(scenario, description, sanityChecker) {
- var httpProtocol = "http";
- var httpsProtocol = "https";
- var wsProtocol = "ws";
- var wssProtocol = "wss";
+ const subresourcePath = {
+ "a-tag": "/common/security-features/subresource/document.py",
+ "area-tag": "/common/security-features/subresource/document.py",
+ "beacon-request": "/common/security-features/subresource/empty.py",
+ "fetch-request": "/common/security-features/subresource/xhr.py",
+ "form-tag": "/common/security-features/subresource/empty.py",
+ "iframe-tag": "/common/security-features/subresource/document.py",
+ "img-tag": "/common/security-features/subresource/image.py",
+ "picture-tag": "/common/security-features/subresource/image.py",
+ "script-tag": "/common/security-features/subresource/script.py",
- var sameOriginHost = location.hostname;
- var crossOriginHost = "{{domains[www1]}}";
+ "worker-request": "/common/security-features/subresource/worker.py",
+ "module-worker-top-level": "/common/security-features/subresource/worker.py",
+ "module-data-worker-import": "/common/security-features/subresource/worker.py",
- // These values can evaluate to either empty strings or a ":port" string.
- var httpPort = getNormalizedPort(parseInt("{{ports[http][0]}}", 10));
- var httpsPort = getNormalizedPort(parseInt("{{ports[https][0]}}", 10));
- var wsPort = getNormalizedPort(parseInt("{{ports[ws][0]}}", 10));
- var wssPort = getNormalizedPort(parseInt("{{ports[wss][0]}}", 10));
+ "object-tag": "/common/security-features/subresource/empty.py",
- var resourcePath = "/mixed-content/generic/expect.py";
- var wsResourcePath = "/stash_responder";
+ "link-css-tag": "/common/security-features/subresource/empty.py",
+ "link-prefetch-tag": "/common/security-features/subresource/empty.py",
+ "classic-data-worker-fetch": "/common/security-features/subresource/empty.py",
- // Map all endpoints to scenario for use in the test.
- var endpoint = {
- "same-origin":
- location.origin + resourcePath,
- "same-host-https":
- httpsProtocol + "://" + sameOriginHost + httpsPort + resourcePath,
- "same-host-http":
- httpProtocol + "://" + sameOriginHost + httpPort + resourcePath,
- "cross-origin-https":
- httpsProtocol + "://" + crossOriginHost + httpsPort + resourcePath,
- "cross-origin-http":
- httpProtocol + "://" + crossOriginHost + httpPort + resourcePath,
- "same-host-wss":
- wssProtocol + "://" + sameOriginHost + wssPort + wsResourcePath,
- "same-host-ws":
- wsProtocol + "://" + sameOriginHost + wsPort + wsResourcePath,
- "cross-origin-wss":
- wssProtocol + "://" + crossOriginHost + wssPort + wsResourcePath,
- "cross-origin-ws":
- wsProtocol + "://" + crossOriginHost + wsPort + wsResourcePath
+ "xhr-request": "/common/security-features/subresource/xhr.py",
+
+ "audio-tag": "/common/security-features/subresource/audio.py",
+ "video-tag": "/common/security-features/subresource/video.py",
+
+ "websocket-request": "/stash_responder"
};
// Mapping all the resource requesting methods to the scenario.
@@ -88,44 +78,56 @@ function MixedContentTestCase(scenario, description, sanityChecker) {
"websocket-request": requestViaWebSocket
};
- // Mapping all expected MIME types to the scenario.
- var contentType = {
- "a-tag": "text/html",
- "area-tag": "text/html",
- "beacon-request": "text/plain",
- "fetch-request": "application/json",
- "form-tag": "text/html",
- "iframe-tag": "text/html",
- "img-tag": "image/png",
- "script-tag": "text/javascript",
-
- "worker-request": "application/javascript",
- "module-worker-top-level": "application/javascript",
- "module-data-worker-import": "application/javascript",
- "classic-data-worker-fetch": "application/javascript",
-
- "xhr-request": "application/json",
- "audio-tag": "audio/wav",
- "video-tag": "video/ogg",
- "picture-tag": "image/png",
- "object-tag": "text/html",
- "link-css-tag": "text/css",
- "link-prefetch-tag": "text/html",
- "websocket-request": "application/json"
- };
-
for (const workletType of ['animation', 'audio', 'layout', 'paint']) {
resourceMap[`worklet-${workletType}-top-level`] =
url => requestViaWorklet(workletType, url);
- contentType[`worklet-${workletType}-top-level`] =
- "application/javascript";
+ subresourcePath[`worklet-${workletType}-top-level`] =
+ "/common/security-features/subresource/worker.py";
resourceMap[`worklet-${workletType}-data-import`] =
url => requestViaWorklet(workletType, workerUrlThatImports(url));
- contentType[`worklet-${workletType}-data-import`] =
- "application/javascript";
+ subresourcePath[`worklet-${workletType}-data-import`] =
+ "/common/security-features/subresource/worker.py";
}
+ var httpProtocol = "http";
+ var httpsProtocol = "https";
+ var wsProtocol = "ws";
+ var wssProtocol = "wss";
+
+ var sameOriginHost = location.hostname;
+ var crossOriginHost = "{{domains[www1]}}";
+
+ // These values can evaluate to either empty strings or a ":port" string.
+ var httpPort = getNormalizedPort(parseInt("{{ports[http][0]}}", 10));
+ var httpsPort = getNormalizedPort(parseInt("{{ports[https][0]}}", 10));
+ var wsPort = getNormalizedPort(parseInt("{{ports[ws][0]}}", 10));
+ var wssPort = getNormalizedPort(parseInt("{{ports[wss][0]}}", 10));
+
+ const resourcePath = subresourcePath[scenario.subresource];
+
+ // Map all endpoints to scenario for use in the test.
+ var endpoint = {
+ "same-origin":
+ location.origin + resourcePath,
+ "same-host-https":
+ httpsProtocol + "://" + sameOriginHost + httpsPort + resourcePath,
+ "same-host-http":
+ httpProtocol + "://" + sameOriginHost + httpPort + resourcePath,
+ "cross-origin-https":
+ httpsProtocol + "://" + crossOriginHost + httpsPort + resourcePath,
+ "cross-origin-http":
+ httpProtocol + "://" + crossOriginHost + httpPort + resourcePath,
+ "same-host-wss":
+ wssProtocol + "://" + sameOriginHost + wssPort + resourcePath,
+ "same-host-ws":
+ wsProtocol + "://" + sameOriginHost + wsPort + resourcePath,
+ "cross-origin-wss":
+ wssProtocol + "://" + crossOriginHost + wssPort + resourcePath,
+ "cross-origin-ws":
+ wsProtocol + "://" + crossOriginHost + wsPort + resourcePath
+ };
+
sanityChecker.checkScenario(scenario, resourceMap);
var mixed_content_test = async_test(description);
@@ -137,17 +139,14 @@ function MixedContentTestCase(scenario, description, sanityChecker) {
var value = guid();
// We use the same path for both HTTP/S and WS/S stash requests.
var stash_path = encodeURIComponent("/mixed-content");
- var announceResourceRequestUrl = endpoint['same-origin'] +
- "?action=put&key=" + key +
- "&value=" + value +
- "&path=" + stash_path;
- var assertResourceRequestUrl = endpoint['same-origin'] +
- "?action=take&key=" + key +
- "&path=" + stash_path;
- var resourceRequestUrl = endpoint[scenario.origin] + "?redirection=" +
+ const stashEndpoint = "/common/security-features/subresource/xhr.py?key=" +
+ key + "&path=" + stash_path;
+ const announceResourceRequestUrl = stashEndpoint + "&action=put&value=" +
+ value;
+ const assertResourceRequestUrl = stashEndpoint + "&action=take";
+ const resourceRequestUrl = endpoint[scenario.origin] + "?redirection=" +
scenario.redirection + "&action=purge&key=" + key +
- "&path=" + stash_path + "&content_type=" +
- contentType[scenario.subresource];
+ "&path=" + stash_path;
xhrRequest(announceResourceRequestUrl)
.then(mixed_content_test.step_func(_ => {
diff --git a/tests/wpt/web-platform-tests/mixed-content/generic/script.js b/tests/wpt/web-platform-tests/mixed-content/generic/script.js
deleted file mode 100644
index 2d1cdf0a4bb..00000000000
--- a/tests/wpt/web-platform-tests/mixed-content/generic/script.js
+++ /dev/null
@@ -1 +0,0 @@
-postMessage("", "*");
diff --git a/tests/wpt/web-platform-tests/mixed-content/generic/worker.js b/tests/wpt/web-platform-tests/mixed-content/generic/worker.js
deleted file mode 100644
index 7e2168bcc06..00000000000
--- a/tests/wpt/web-platform-tests/mixed-content/generic/worker.js
+++ /dev/null
@@ -1 +0,0 @@
-postMessage('done');
diff --git a/tests/wpt/web-platform-tests/referrer-policy/README.md b/tests/wpt/web-platform-tests/referrer-policy/README.md
index 58eff1a0ca3..ea158fe5394 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/README.md
+++ b/tests/wpt/web-platform-tests/referrer-policy/README.md
@@ -223,7 +223,6 @@ var scenario = {
"source_protocol": "http",
"target_protocol": "http",
"subresource": "iframe-tag",
- "subresource_path": "/referrer-policy/generic/subresource/document.py",
"referrer_url": "origin"
};
```
diff --git a/tests/wpt/web-platform-tests/referrer-policy/css-integration/README.md b/tests/wpt/web-platform-tests/referrer-policy/css-integration/README.md
index 14da25c4d97..150b0e65263 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/css-integration/README.md
+++ b/tests/wpt/web-platform-tests/referrer-policy/css-integration/README.md
@@ -1,7 +1,7 @@
These tests exercise different ways to fetch a resource (image, font-face, svg
references), generated via the sub-resource python script in
```./generic/subresource/``` (for example, loading an image:
-```/referrer-policy/generic/subresource/image.py?id=<UUID>```) and later verify
+```/common/security-features/subresource/image.py?id=<UUID>```) and later verify
the headers used to fetch the resource.
Since there is no way to wait for a resource referenced from CSS to be loaded,
@@ -11,4 +11,4 @@ after the resource (hopefully) was loaded.
Since there is also no way to retrieve headers (or other information) from
resources loaded via CSS, we store the headers with the given ```UUID``` as key
on the server, and retrieve them later via an XHR, for example:
-```/referrer-policy/generic/subresource/image.py?id=<UUID>&report-headers```.
+```/common/security-features/subresource/image.py?id=<UUID>&report-headers```.
diff --git a/tests/wpt/web-platform-tests/referrer-policy/css-integration/child-css/external-import-stylesheet.html b/tests/wpt/web-platform-tests/referrer-policy/css-integration/child-css/external-import-stylesheet.html
index 9245ff39c6e..3ced0f49983 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/css-integration/child-css/external-import-stylesheet.html
+++ b/tests/wpt/web-platform-tests/referrer-policy/css-integration/child-css/external-import-stylesheet.html
@@ -21,9 +21,9 @@
let id = token();
let url_prefix = location.protocol + "//www1." + location.hostname + ":" + location.port;
let css_url = url_prefix +
- "/referrer-policy/generic/subresource/stylesheet.py?id=" + id +
+ "/common/security-features/subresource/stylesheet.py?id=" + id +
"&import-rule" + "&referrer-policy=no-referrer";
- let check_url = url_prefix + "/referrer-policy/generic/subresource/stylesheet.py" +
+ let check_url = url_prefix + "/common/security-features/subresource/stylesheet.py" +
"?id=" + id + "&report-headers";
return new Promise(resolve => {
diff --git a/tests/wpt/web-platform-tests/referrer-policy/css-integration/child-css/internal-import-stylesheet.html b/tests/wpt/web-platform-tests/referrer-policy/css-integration/child-css/internal-import-stylesheet.html
index c25b99926a0..df835c45e10 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/css-integration/child-css/internal-import-stylesheet.html
+++ b/tests/wpt/web-platform-tests/referrer-policy/css-integration/child-css/internal-import-stylesheet.html
@@ -20,8 +20,8 @@
promise_test(function(css_test) {
let id = token();
let url_prefix = location.protocol + "//www1." + location.hostname + ":" + location.port;
- let css_url = url_prefix + "/referrer-policy/generic/subresource/stylesheet.py?id=" + id + "&import-rule";
- let check_url = url_prefix + "/referrer-policy/generic/subresource/stylesheet.py" +
+ let css_url = url_prefix + "/common/security-features/subresource/stylesheet.py?id=" + id + "&import-rule";
+ let check_url = url_prefix + "/common/security-features/subresource/stylesheet.py" +
"?id=" + id + "&report-headers";
let style = document.createElement("style");
diff --git a/tests/wpt/web-platform-tests/referrer-policy/css-integration/child-css/processing-instruction.html b/tests/wpt/web-platform-tests/referrer-policy/css-integration/child-css/processing-instruction.html
index 36d8bbc0216..1a0d9ebdda2 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/css-integration/child-css/processing-instruction.html
+++ b/tests/wpt/web-platform-tests/referrer-policy/css-integration/child-css/processing-instruction.html
@@ -20,7 +20,7 @@
let id = token();
let url_prefix = location.protocol + "//www1." + location.hostname + ":" +
location.port +
- "/referrer-policy/generic/subresource/stylesheet.py?id=" +
+ "/common/security-features/subresource/stylesheet.py?id=" +
id;
let css_url = url_prefix + "&amp;import-rule";
let expected = url_prefix + "&import-rule";
diff --git a/tests/wpt/web-platform-tests/referrer-policy/css-integration/css-test-helper.js b/tests/wpt/web-platform-tests/referrer-policy/css-integration/css-test-helper.js
index 0afa9e1b87c..dc97ccc063b 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/css-integration/css-test-helper.js
+++ b/tests/wpt/web-platform-tests/referrer-policy/css-integration/css-test-helper.js
@@ -1,6 +1,6 @@
var svg_ns = "http://www.w3.org/2000/svg";
var url_prefix = location.protocol + "//" + location.hostname + ":" +
- location.port + "/referrer-policy/generic/subresource/";
+ location.port + "/common/security-features/subresource/";
var svg_test_properties = [
'fill',
diff --git a/tests/wpt/web-platform-tests/referrer-policy/css-integration/font-face/external-import-stylesheet.html b/tests/wpt/web-platform-tests/referrer-policy/css-integration/font-face/external-import-stylesheet.html
index 6bd0554ccdf..db655fbb726 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/css-integration/font-face/external-import-stylesheet.html
+++ b/tests/wpt/web-platform-tests/referrer-policy/css-integration/font-face/external-import-stylesheet.html
@@ -22,12 +22,12 @@
let id = token();
let css_url = location.protocol + "//www1." + location.hostname + ":" +
location.port +
- "/referrer-policy/generic/subresource/stylesheet.py?id=" + id +
+ "/common/security-features/subresource/stylesheet.py?id=" + id +
"&import-rule" + "&type=font";
let url_prefix = location.protocol + "//" + location.hostname + ":" + location.port;
let css_referrer = url_prefix +
- "/referrer-policy/generic/subresource/stylesheet.py?id=" + id + "&type=font";
- let font_url = url_prefix + "/referrer-policy/generic/subresource/font.py" +
+ "/common/security-features/subresource/stylesheet.py?id=" + id + "&type=font";
+ let font_url = url_prefix + "/common/security-features/subresource/font.py" +
"?id=" + id + "&report-headers" + "&type=font";
return new Promise(resolve => {
diff --git a/tests/wpt/web-platform-tests/referrer-policy/css-integration/font-face/external-stylesheet.html b/tests/wpt/web-platform-tests/referrer-policy/css-integration/font-face/external-stylesheet.html
index 8773664625c..cc99b1f3ddc 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/css-integration/font-face/external-stylesheet.html
+++ b/tests/wpt/web-platform-tests/referrer-policy/css-integration/font-face/external-stylesheet.html
@@ -20,8 +20,8 @@
promise_test(function(css_test) {
let id = token();
let url_prefix = location.protocol + "//www1." + location.hostname + ":" + location.port;
- let css_url = url_prefix + "/referrer-policy/generic/subresource/stylesheet.py?id=" + id + "&type=font";
- let font_url = url_prefix + "/referrer-policy/generic/subresource/font.py" +
+ let css_url = url_prefix + "/common/security-features/subresource/stylesheet.py?id=" + id + "&type=font";
+ let font_url = url_prefix + "/common/security-features/subresource/font.py" +
"?id=" + id + "&report-headers";
return new Promise(resolve => {
diff --git a/tests/wpt/web-platform-tests/referrer-policy/css-integration/font-face/internal-import-stylesheet.html b/tests/wpt/web-platform-tests/referrer-policy/css-integration/font-face/internal-import-stylesheet.html
index 6dcf6be3e7d..969db95179e 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/css-integration/font-face/internal-import-stylesheet.html
+++ b/tests/wpt/web-platform-tests/referrer-policy/css-integration/font-face/internal-import-stylesheet.html
@@ -21,7 +21,7 @@
promise_test(function(css_test) {
let id = token();
let url_prefix = location.protocol + "//www1." + location.hostname + ":" +
- location.port + "/referrer-policy/generic/subresource/";
+ location.port + "/common/security-features/subresource/";
let css_url = url_prefix + "stylesheet.py?id=" + id + "&type=font";
let font_url = url_prefix + "font.py?report-headers&id=" + id;
diff --git a/tests/wpt/web-platform-tests/referrer-policy/css-integration/font-face/internal-stylesheet.html b/tests/wpt/web-platform-tests/referrer-policy/css-integration/font-face/internal-stylesheet.html
index 0d54bb766f7..40eb09357b9 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/css-integration/font-face/internal-stylesheet.html
+++ b/tests/wpt/web-platform-tests/referrer-policy/css-integration/font-face/internal-stylesheet.html
@@ -21,7 +21,7 @@
let id = token();
let css_url = location.protocol + "//www1." + location.hostname + ":" +
location.port +
- "/referrer-policy/generic/subresource/font.py" + "?id=" +
+ "/common/security-features/subresource/font.py" + "?id=" +
id + "&type=font";
let font_url = css_url + "&report-headers";
diff --git a/tests/wpt/web-platform-tests/referrer-policy/css-integration/font-face/processing-instruction.html b/tests/wpt/web-platform-tests/referrer-policy/css-integration/font-face/processing-instruction.html
index 26203a82268..25b0ed13473 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/css-integration/font-face/processing-instruction.html
+++ b/tests/wpt/web-platform-tests/referrer-policy/css-integration/font-face/processing-instruction.html
@@ -22,12 +22,12 @@
let id = token();
let url_prefix = location.protocol + "//www1." + location.hostname + ":" + location.port;
let css_url = url_prefix +
- "/referrer-policy/generic/subresource/stylesheet.py?id=" +
+ "/common/security-features/subresource/stylesheet.py?id=" +
id + "&amp;type=font";
let expected = url_prefix +
- "/referrer-policy/generic/subresource/stylesheet.py?id=" +
+ "/common/security-features/subresource/stylesheet.py?id=" +
id + "&type=font";
- let font_url = url_prefix + "/referrer-policy/generic/subresource/font.py" +
+ let font_url = url_prefix + "/common/security-features/subresource/font.py" +
"?id=" + id + "&report-headers";
let processingInstruction =
diff --git a/tests/wpt/web-platform-tests/referrer-policy/css-integration/image/external-import-stylesheet.html b/tests/wpt/web-platform-tests/referrer-policy/css-integration/image/external-import-stylesheet.html
index 7c5a8c3d709..370bc44b6c1 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/css-integration/image/external-import-stylesheet.html
+++ b/tests/wpt/web-platform-tests/referrer-policy/css-integration/image/external-import-stylesheet.html
@@ -21,13 +21,13 @@
promise_test(function(css_test) {
var id = token();
var css_url = location.protocol + "//www1." + location.hostname + ":" + location.port +
- "/referrer-policy/generic/subresource/stylesheet.py?id=" + id +
+ "/common/security-features/subresource/stylesheet.py?id=" + id +
"&import-rule" + "&type=image";
var url_prefix = location.protocol + "//" + location.hostname + ":" + location.port;
var css_referrer = url_prefix +
- "/referrer-policy/generic/subresource/stylesheet.py?id=" + id +
+ "/common/security-features/subresource/stylesheet.py?id=" + id +
"&type=image";
- var img_url = url_prefix + "/referrer-policy/generic/subresource/image.py" +
+ var img_url = url_prefix + "/common/security-features/subresource/image.py" +
"?id=" + id + "&report-headers";
return new Promise(resolve => {
diff --git a/tests/wpt/web-platform-tests/referrer-policy/css-integration/image/external-stylesheet.html b/tests/wpt/web-platform-tests/referrer-policy/css-integration/image/external-stylesheet.html
index 72a807bec6b..eb1b019c988 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/css-integration/image/external-stylesheet.html
+++ b/tests/wpt/web-platform-tests/referrer-policy/css-integration/image/external-stylesheet.html
@@ -20,8 +20,8 @@
promise_test(function(css_test) {
var id = token();
var url_prefix = location.protocol + "//www1." + location.hostname + ":" + location.port;
- var css_url = url_prefix + "/referrer-policy/generic/subresource/stylesheet.py?id=" + id;
- var img_url = url_prefix + "/referrer-policy/generic/subresource/image.py" +
+ var css_url = url_prefix + "/common/security-features/subresource/stylesheet.py?id=" + id;
+ var img_url = url_prefix + "/common/security-features/subresource/image.py" +
"?id=" + id + "&report-headers";
return new Promise(resolve => {
diff --git a/tests/wpt/web-platform-tests/referrer-policy/css-integration/image/inline-style.html b/tests/wpt/web-platform-tests/referrer-policy/css-integration/image/inline-style.html
index 7e3d8879a4a..d6ff26e7bcc 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/css-integration/image/inline-style.html
+++ b/tests/wpt/web-platform-tests/referrer-policy/css-integration/image/inline-style.html
@@ -19,7 +19,7 @@
<script>
promise_test(function(css_test) {
var id = token();
- var css_url = location.protocol + "//www1." + location.hostname + ":" + location.port + "/referrer-policy/generic/subresource/image.py" + "?id=" + id;
+ var css_url = location.protocol + "//www1." + location.hostname + ":" + location.port + "/common/security-features/subresource/image.py" + "?id=" + id;
var img_url = css_url + "&report-headers";
var div = document.querySelector("div.styled");
diff --git a/tests/wpt/web-platform-tests/referrer-policy/css-integration/image/internal-import-stylesheet.html b/tests/wpt/web-platform-tests/referrer-policy/css-integration/image/internal-import-stylesheet.html
index e94218d419e..e96b25a9712 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/css-integration/image/internal-import-stylesheet.html
+++ b/tests/wpt/web-platform-tests/referrer-policy/css-integration/image/internal-import-stylesheet.html
@@ -20,7 +20,7 @@
<script>
promise_test(function(css_test) {
var id = token();
- var url_prefix = location.protocol + "//www1." + location.hostname + ":" + location.port + "/referrer-policy/generic/subresource/";
+ var url_prefix = location.protocol + "//www1." + location.hostname + ":" + location.port + "/common/security-features/subresource/";
var css_url = url_prefix + "stylesheet.py?id=" + id;
var img_url = url_prefix + "image.py?report-headers&id=" + id;
diff --git a/tests/wpt/web-platform-tests/referrer-policy/css-integration/image/internal-stylesheet.html b/tests/wpt/web-platform-tests/referrer-policy/css-integration/image/internal-stylesheet.html
index a6107cb3a99..29a8517e117 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/css-integration/image/internal-stylesheet.html
+++ b/tests/wpt/web-platform-tests/referrer-policy/css-integration/image/internal-stylesheet.html
@@ -19,7 +19,7 @@
<script>
promise_test(function(css_test) {
var id = token();
- var css_url = location.protocol + "//www1." + location.hostname + ":" + location.port + "/referrer-policy/generic/subresource/image.py" + "?id=" + id;
+ var css_url = location.protocol + "//www1." + location.hostname + ":" + location.port + "/common/security-features/subresource/image.py" + "?id=" + id;
var img_url = css_url + "&report-headers";
var style = document.createElement("style");
diff --git a/tests/wpt/web-platform-tests/referrer-policy/css-integration/image/presentation-attribute.html b/tests/wpt/web-platform-tests/referrer-policy/css-integration/image/presentation-attribute.html
index ee70f15885c..95d3b11a42a 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/css-integration/image/presentation-attribute.html
+++ b/tests/wpt/web-platform-tests/referrer-policy/css-integration/image/presentation-attribute.html
@@ -17,7 +17,7 @@
<script>
promise_test(function(css_test) {
var id = token();
- var css_url = location.protocol + "//www1." + location.hostname + ":" + location.port + "/referrer-policy/generic/subresource/image.py" + "?id=" + id;
+ var css_url = location.protocol + "//www1." + location.hostname + ":" + location.port + "/common/security-features/subresource/image.py" + "?id=" + id;
var img_url = css_url + "&report-headers";
document.body.background = css_url;
diff --git a/tests/wpt/web-platform-tests/referrer-policy/css-integration/image/processing-instruction.html b/tests/wpt/web-platform-tests/referrer-policy/css-integration/image/processing-instruction.html
index c2b31be8899..e52d9b65097 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/css-integration/image/processing-instruction.html
+++ b/tests/wpt/web-platform-tests/referrer-policy/css-integration/image/processing-instruction.html
@@ -21,8 +21,8 @@
promise_test(function(css_test) {
var id = token();
var url_prefix = location.protocol + "//www1." + location.hostname + ":" + location.port;
- var css_url = url_prefix + "/referrer-policy/generic/subresource/stylesheet.py?id=" + id;
- var img_url = url_prefix + "/referrer-policy/generic/subresource/image.py" +
+ var css_url = url_prefix + "/common/security-features/subresource/stylesheet.py?id=" + id;
+ var img_url = url_prefix + "/common/security-features/subresource/image.py" +
"?id=" + id + "&report-headers";
var processingInstruction = document.createProcessingInstruction("xml-stylesheet", "href=\"" + css_url + "\" type=\"text/css\"");
diff --git a/tests/wpt/web-platform-tests/referrer-policy/generic/iframe-inheritance.html b/tests/wpt/web-platform-tests/referrer-policy/generic/iframe-inheritance.html
index 3bab0979dd9..ca17e03933a 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/generic/iframe-inheritance.html
+++ b/tests/wpt/web-platform-tests/referrer-policy/generic/iframe-inheritance.html
@@ -28,7 +28,7 @@
<script src = "/common/security-features/resources/common.js"></` + `script>
<script src = "/referrer-policy/generic/referrer-policy-test-case.js"></` + `script>
<script>
- var urlPath = "/referrer-policy/generic/subresource/xhr.py";
+ var urlPath = "/common/security-features/subresource/xhr.py";
var url = "${location.protocol}//www1.${location.hostname}:${location.port}" + urlPath;
requestViaXhr(url).then((msg) => {
parent.postMessage({referrer: msg.referrer}, "*")})
diff --git a/tests/wpt/web-platform-tests/referrer-policy/generic/link-rel-prefetch.html b/tests/wpt/web-platform-tests/referrer-policy/generic/link-rel-prefetch.html
index 0f78596fa2d..c8e367079bd 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/generic/link-rel-prefetch.html
+++ b/tests/wpt/web-platform-tests/referrer-policy/generic/link-rel-prefetch.html
@@ -7,14 +7,14 @@
<!-- Common global functions for referrer-policy tests. -->
<script src="/common/security-features/resources/common.js"></script>
<meta name="referrer" content="origin">
- <link rel="prefetch" href="/referrer-policy/generic/subresource/image.py">
+ <link rel="prefetch" href="/common/security-features/subresource/image.py">
</head>
<body>
<p>Check that resources loaded via link rel prefetch use the referrer
and referrer policy from the document.</p>
<script>
- var img_url = "/referrer-policy/generic/subresource/image.py";
+ var img_url = "/common/security-features/subresource/image.py";
promise_test((t) => timeoutPromise(t, 1000)
.then(() => loadImageInWindow(img_url, null, window))
.then(function (img) {
diff --git a/tests/wpt/web-platform-tests/referrer-policy/generic/multiple-headers-and-values.html b/tests/wpt/web-platform-tests/referrer-policy/generic/multiple-headers-and-values.html
index d6b9408c153..ac7f37006ec 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/generic/multiple-headers-and-values.html
+++ b/tests/wpt/web-platform-tests/referrer-policy/generic/multiple-headers-and-values.html
@@ -16,7 +16,7 @@
<script>
promise_test(() => {
- var urlPath = '/referrer-policy/generic/subresource/image.py?cache_destroyer=' + (new Date()).getTime();
+ var urlPath = '/common/security-features/subresource/image.py?cache_destroyer=' + (new Date()).getTime();
var url = location.protocol + "//www1." + location.hostname + ":" + location.port +
urlPath;
return requestViaImageForReferrerPolicy(url, null, 'no-referrer')
diff --git a/tests/wpt/web-platform-tests/referrer-policy/generic/multiple-headers-combined.html b/tests/wpt/web-platform-tests/referrer-policy/generic/multiple-headers-combined.html
index 0b36aeee94c..0e99cd4ea8e 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/generic/multiple-headers-combined.html
+++ b/tests/wpt/web-platform-tests/referrer-policy/generic/multiple-headers-combined.html
@@ -16,7 +16,7 @@
<script>
promise_test(() => {
- var urlPath = '/referrer-policy/generic/subresource/image.py?cache_destroyer=' + (new Date()).getTime();
+ var urlPath = '/common/security-features/subresource/image.py?cache_destroyer=' + (new Date()).getTime();
var url = location.protocol + "//www1." + location.hostname + ":" + location.port +
urlPath;
return requestViaImageForReferrerPolicy(url, null, 'no-referrer')
diff --git a/tests/wpt/web-platform-tests/referrer-policy/generic/multiple-headers-one-invalid.html b/tests/wpt/web-platform-tests/referrer-policy/generic/multiple-headers-one-invalid.html
index 599ffdccc3e..3c2bf21a62b 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/generic/multiple-headers-one-invalid.html
+++ b/tests/wpt/web-platform-tests/referrer-policy/generic/multiple-headers-one-invalid.html
@@ -16,7 +16,7 @@
<script>
promise_test(() => {
- var urlPath = '/referrer-policy/generic/subresource/image.py?cache_destroyer=' + (new Date()).getTime();
+ var urlPath = '/common/security-features/subresource/image.py?cache_destroyer=' + (new Date()).getTime();
var url = location.protocol + "//www1." + location.hostname + ":" + location.port +
urlPath;
return requestViaImageForReferrerPolicy(url, null, 'no-referrer')
diff --git a/tests/wpt/web-platform-tests/referrer-policy/generic/multiple-headers-one-unknown-token.html b/tests/wpt/web-platform-tests/referrer-policy/generic/multiple-headers-one-unknown-token.html
index cf9a7921626..2c13376b14c 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/generic/multiple-headers-one-unknown-token.html
+++ b/tests/wpt/web-platform-tests/referrer-policy/generic/multiple-headers-one-unknown-token.html
@@ -16,7 +16,7 @@
<script>
promise_test(() => {
- var urlPath = '/referrer-policy/generic/subresource/image.py?cache_destroyer=' + (new Date()).getTime();
+ var urlPath = '/common/security-features/subresource/image.py?cache_destroyer=' + (new Date()).getTime();
var url = location.protocol + "//www1." + location.hostname + ":" + location.port +
urlPath;
return requestViaImageForReferrerPolicy(url, null, 'no-referrer')
diff --git a/tests/wpt/web-platform-tests/referrer-policy/generic/multiple-headers.html b/tests/wpt/web-platform-tests/referrer-policy/generic/multiple-headers.html
index 418044a14cd..e727acd588e 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/generic/multiple-headers.html
+++ b/tests/wpt/web-platform-tests/referrer-policy/generic/multiple-headers.html
@@ -16,7 +16,7 @@
<script>
promise_test(() => {
- var urlPath = '/referrer-policy/generic/subresource/image.py?cache_destroyer=' + (new Date()).getTime();
+ var urlPath = '/common/security-features/subresource/image.py?cache_destroyer=' + (new Date()).getTime();
var url = location.protocol + "//www1." + location.hostname + ":" + location.port +
urlPath;
return requestViaImageForReferrerPolicy(url, null, 'no-referrer')
diff --git a/tests/wpt/web-platform-tests/referrer-policy/generic/referrer-policy-test-case.js b/tests/wpt/web-platform-tests/referrer-policy/generic/referrer-policy-test-case.js
index 1345e71d31f..6b5ae7f70f1 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/generic/referrer-policy-test-case.js
+++ b/tests/wpt/web-platform-tests/referrer-policy/generic/referrer-policy-test-case.js
@@ -51,16 +51,16 @@ function ReferrerPolicyTestCase(scenario, testDescription, sanityChecker) {
};
const subresourcePath = {
- "a-tag": "/referrer-policy/generic/subresource/document.py",
- "area-tag": "/referrer-policy/generic/subresource/document.py",
- "fetch-request": "/referrer-policy/generic/subresource/xhr.py",
- "iframe-tag": "/referrer-policy/generic/subresource/document.py",
- "img-tag": "/referrer-policy/generic/subresource/image.py",
- "script-tag": "/referrer-policy/generic/subresource/script.py",
- "worker-request": "/referrer-policy/generic/subresource/worker.py",
- "module-worker": "/referrer-policy/generic/subresource/worker.py",
- "shared-worker": "/referrer-policy/generic/subresource/shared-worker.py",
- "xhr-request": "/referrer-policy/generic/subresource/xhr.py"
+ "a-tag": "/common/security-features/subresource/document.py",
+ "area-tag": "/common/security-features/subresource/document.py",
+ "fetch-request": "/common/security-features/subresource/xhr.py",
+ "iframe-tag": "/common/security-features/subresource/document.py",
+ "img-tag": "/common/security-features/subresource/image.py",
+ "script-tag": "/common/security-features/subresource/script.py",
+ "worker-request": "/common/security-features/subresource/worker.py",
+ "module-worker": "/common/security-features/subresource/worker.py",
+ "shared-worker": "/common/security-features/subresource/shared-worker.py",
+ "xhr-request": "/common/security-features/subresource/xhr.py"
};
var referrerUrlResolver = {
diff --git a/tests/wpt/web-platform-tests/referrer-policy/generic/sandboxed-iframe-with-opaque-origin.html b/tests/wpt/web-platform-tests/referrer-policy/generic/sandboxed-iframe-with-opaque-origin.html
index 103627b21df..da3455cb2a8 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/generic/sandboxed-iframe-with-opaque-origin.html
+++ b/tests/wpt/web-platform-tests/referrer-policy/generic/sandboxed-iframe-with-opaque-origin.html
@@ -29,7 +29,7 @@
<script src = "/common/security-features/resources/common.js"></` + `script>
<script src = "/referrer-policy/generic/referrer-policy-test-case.js"></` + `script>
<script>
- var urlPath = "/referrer-policy/generic/subresource/xhr.py";
+ var urlPath = "/common/security-features/subresource/xhr.py";
var url = "${location.protocol}//www1.${location.hostname}:${location.port}" + urlPath;
requestViaXhr(url).then((msg) => {
parent.postMessage({referrer: msg.referrer, description: "${description}"}, "*")
diff --git a/tests/wpt/web-platform-tests/referrer-policy/generic/subresource-test/area-navigate.html b/tests/wpt/web-platform-tests/referrer-policy/generic/subresource-test/area-navigate.html
index b7f05be9892..936e2ef0f50 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/generic/subresource-test/area-navigate.html
+++ b/tests/wpt/web-platform-tests/referrer-policy/generic/subresource-test/area-navigate.html
@@ -18,7 +18,7 @@
<script>
promise_test(function() {
- var urlPath = '/referrer-policy/generic/subresource/document.py';
+ var urlPath = '/common/security-features/subresource/document.py';
var url = location.protocol + "//www1." + location.hostname + ":" + location.port +
urlPath;
return requestViaArea(url)
diff --git a/tests/wpt/web-platform-tests/referrer-policy/generic/subresource-test/fetch-messaging.html b/tests/wpt/web-platform-tests/referrer-policy/generic/subresource-test/fetch-messaging.html
index 2c12ae45510..cc17b3d8de9 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/generic/subresource-test/fetch-messaging.html
+++ b/tests/wpt/web-platform-tests/referrer-policy/generic/subresource-test/fetch-messaging.html
@@ -22,7 +22,7 @@
}, "Fetch is supported by the browser.");
promise_test(function() {
- var urlPath = '/referrer-policy/generic/subresource/xhr.py';
+ var urlPath = '/common/security-features/subresource/xhr.py';
var url = location.protocol + "//" + location.hostname + ":" +
location.port + urlPath;
return requestViaFetch(url)
diff --git a/tests/wpt/web-platform-tests/referrer-policy/generic/subresource-test/iframe-messaging.html b/tests/wpt/web-platform-tests/referrer-policy/generic/subresource-test/iframe-messaging.html
index 3bfada318f2..45c5abc8644 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/generic/subresource-test/iframe-messaging.html
+++ b/tests/wpt/web-platform-tests/referrer-policy/generic/subresource-test/iframe-messaging.html
@@ -18,7 +18,7 @@
<script>
promise_test(function() {
- var urlPath = '/referrer-policy/generic/subresource/document.py';
+ var urlPath = '/common/security-features/subresource/document.py';
var url = location.protocol + "//www1." + location.hostname + ":" + location.port +
urlPath;
return requestViaIframe(url)
diff --git a/tests/wpt/web-platform-tests/referrer-policy/generic/subresource-test/image-decoding.html b/tests/wpt/web-platform-tests/referrer-policy/generic/subresource-test/image-decoding.html
index 807344dab9f..a9eec617d44 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/generic/subresource-test/image-decoding.html
+++ b/tests/wpt/web-platform-tests/referrer-policy/generic/subresource-test/image-decoding.html
@@ -18,7 +18,7 @@
<script>
promise_test(function() {
- var urlPath = '/referrer-policy/generic/subresource/image.py';
+ var urlPath = '/common/security-features/subresource/image.py';
var url = location.protocol + "//www1." + location.hostname + ":" + location.port +
urlPath + "?cache_destroyer=" + (new Date()).getTime();
return requestViaImageForReferrerPolicy(url, undefined, "always")
diff --git a/tests/wpt/web-platform-tests/referrer-policy/generic/subresource-test/link-navigate.html b/tests/wpt/web-platform-tests/referrer-policy/generic/subresource-test/link-navigate.html
index 8c5d2c83866..966547c3580 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/generic/subresource-test/link-navigate.html
+++ b/tests/wpt/web-platform-tests/referrer-policy/generic/subresource-test/link-navigate.html
@@ -18,7 +18,7 @@
<script>
promise_test(function() {
- var urlPath = '/referrer-policy/generic/subresource/document.py';
+ var urlPath = '/common/security-features/subresource/document.py';
var url = location.protocol + "//www1." + location.hostname + ":" + location.port +
urlPath;
return requestViaAnchor(url)
diff --git a/tests/wpt/web-platform-tests/referrer-policy/generic/subresource-test/script-messaging.html b/tests/wpt/web-platform-tests/referrer-policy/generic/subresource-test/script-messaging.html
index cdeb1a03ed3..0a93266e2c5 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/generic/subresource-test/script-messaging.html
+++ b/tests/wpt/web-platform-tests/referrer-policy/generic/subresource-test/script-messaging.html
@@ -18,7 +18,7 @@
<script>
promise_test(function() {
- var urlPath = '/referrer-policy/generic/subresource/script.py';
+ var urlPath = '/common/security-features/subresource/script.py';
var url = location.protocol + "//www1." + location.hostname + ":" + location.port +
urlPath;
return requestViaScript(url)
diff --git a/tests/wpt/web-platform-tests/referrer-policy/generic/subresource-test/worker-messaging.html b/tests/wpt/web-platform-tests/referrer-policy/generic/subresource-test/worker-messaging.html
index 7ef9b381ae4..c85cfca5c39 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/generic/subresource-test/worker-messaging.html
+++ b/tests/wpt/web-platform-tests/referrer-policy/generic/subresource-test/worker-messaging.html
@@ -18,7 +18,7 @@
<script>
promise_test(function() {
- var urlPath = '/referrer-policy/generic/subresource/worker.py';
+ var urlPath = '/common/security-features/subresource/worker.py';
var url = location.protocol + "//" + location.hostname + ":" +
location.port + urlPath;
return requestViaDedicatedWorker(url, {})
diff --git a/tests/wpt/web-platform-tests/referrer-policy/generic/subresource-test/xhr-messaging.html b/tests/wpt/web-platform-tests/referrer-policy/generic/subresource-test/xhr-messaging.html
index 1bd1b4c724e..dd48dec8e6b 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/generic/subresource-test/xhr-messaging.html
+++ b/tests/wpt/web-platform-tests/referrer-policy/generic/subresource-test/xhr-messaging.html
@@ -18,7 +18,7 @@
<script>
promise_test(function() {
- var urlPath = '/referrer-policy/generic/subresource/xhr.py';
+ var urlPath = '/common/security-features/subresource/xhr.py';
var url = location.protocol + "//www1." + location.hostname + ":" + location.port +
urlPath;
return requestViaXhr(url)
diff --git a/tests/wpt/web-platform-tests/referrer-policy/generic/template/image.css.template b/tests/wpt/web-platform-tests/referrer-policy/generic/template/image.css.template
deleted file mode 100644
index 0eebd0a4526..00000000000
--- a/tests/wpt/web-platform-tests/referrer-policy/generic/template/image.css.template
+++ /dev/null
@@ -1,3 +0,0 @@
-div.styled::before {
- content:url(/referrer-policy/generic/subresource/image.py?id=%(id)s)
-}
diff --git a/tests/wpt/web-platform-tests/referrer-policy/generic/template/svg.css.template b/tests/wpt/web-platform-tests/referrer-policy/generic/template/svg.css.template
deleted file mode 100644
index ffaefed4aa4..00000000000
--- a/tests/wpt/web-platform-tests/referrer-policy/generic/template/svg.css.template
+++ /dev/null
@@ -1,3 +0,0 @@
-path {
- %(property)s: url(/referrer-policy/generic/subresource/svg.py?id=%(id)s#invalidFragment);
-}
diff --git a/tests/wpt/web-platform-tests/referrer-policy/generic/unsupported-csp-referrer-directive.html b/tests/wpt/web-platform-tests/referrer-policy/generic/unsupported-csp-referrer-directive.html
index f639ead4d43..6c03a48e1c1 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/generic/unsupported-csp-referrer-directive.html
+++ b/tests/wpt/web-platform-tests/referrer-policy/generic/unsupported-csp-referrer-directive.html
@@ -17,7 +17,7 @@
<script>
promise_test(function() {
- var urlPath = '/referrer-policy/generic/subresource/image.py?cache_destroyer=' + (new Date()).getTime();
+ var urlPath = '/common/security-features/subresource/image.py?cache_destroyer=' + (new Date()).getTime();
var url = location.protocol + "//www1." + location.hostname + ":" + location.port +
urlPath;
return requestViaImageForReferrerPolicy(url, null, 'always')
diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/skip-waiting-using-registration.https.html b/tests/wpt/web-platform-tests/service-workers/service-worker/skip-waiting-using-registration.https.html
index fe80a03846e..412ee2a4438 100644
--- a/tests/wpt/web-platform-tests/service-workers/service-worker/skip-waiting-using-registration.https.html
+++ b/tests/wpt/web-platform-tests/service-workers/service-worker/skip-waiting-using-registration.https.html
@@ -59,7 +59,7 @@ promise_test(function(t) {
.then(function() {
assert_not_equals(sw_registration.active, null,
'Registration active worker should not be null');
- fetch_tests_from_worker(sw_registration.active);
+ return fetch_tests_from_worker(sw_registration.active);
});
}, 'Test skipWaiting while a client is using the registration');
diff --git a/tests/wpt/web-platform-tests/service-workers/service-worker/skip-waiting-without-using-registration.https.html b/tests/wpt/web-platform-tests/service-workers/service-worker/skip-waiting-without-using-registration.https.html
index b6362e6c317..ced64e5f67f 100644
--- a/tests/wpt/web-platform-tests/service-workers/service-worker/skip-waiting-without-using-registration.https.html
+++ b/tests/wpt/web-platform-tests/service-workers/service-worker/skip-waiting-without-using-registration.https.html
@@ -37,7 +37,7 @@ promise_test(function(t) {
'Document controller should still be null');
assert_not_equals(sw_registration.active, null,
'Registration active worker should not be null');
- fetch_tests_from_worker(sw_registration.active);
+ return fetch_tests_from_worker(sw_registration.active);
});
}, 'Test skipWaiting while a client is not being controlled');
diff --git a/tests/wpt/web-platform-tests/shape-detection/detection-options.html b/tests/wpt/web-platform-tests/shape-detection/detection-options.html
index 31475575e3f..704faf72929 100644
--- a/tests/wpt/web-platform-tests/shape-detection/detection-options.html
+++ b/tests/wpt/web-platform-tests/shape-detection/detection-options.html
@@ -23,4 +23,44 @@ detection_test("FaceDetectionTest", async (t, detectionTest) => {
assert_equals(mock.getFastMode(), true, "maxDetectedFaces");
}, "Test that FaceDetectionOptions are correctly propagated");
+detection_test("BarcodeDetectionTest", async (t, detectionTest) => {
+ const img = document.getElementById("img");
+ const mock = detectionTest.MockBarcodeDetectionProvider();
+
+ const detectorWithNoOptions = new BarcodeDetector();
+ let barcodeDetectionResult = await detectorWithNoOptions.detect(img);
+ assert_array_equals(mock.getFormats(), [], "formats");
+
+ const detectorWithOptions = new BarcodeDetector({
+ formats: ["code_128", "qr_code"]});
+ barcodeDetectionResult = await detectorWithOptions.detect(img);
+ assert_array_equals(
+ mock.getFormats(),
+ [shapeDetection.mojom.BarcodeFormat.CODE_128,
+ shapeDetection.mojom.BarcodeFormat.QR_CODE],
+ "formats");
+
+ try {
+ new BarcodeDetector({formats: []});
+ assert_unreached("providing hint option that is empty should fail");
+ } catch (error) {
+ assert_equals(error.name, "TypeError");
+ }
+
+ try {
+ new BarcodeDetector({formats: ["unknown"]});
+ assert_unreached("providing \"unknown\" as a hint option should fail");
+ } catch (error) {
+ assert_equals(error.name, "TypeError");
+ }
+
+ try {
+ new BarcodeDetector({formats: ["foo", "bar"]});
+ assert_unreached(
+ "providing hint option with unrecognized formats should fail");
+ } catch (error) {
+ assert_equals(error.name, "TypeError");
+ }
+}, "Test that BarcodeDetectorOptions are correctly propagated");
+
</script>
diff --git a/tests/wpt/web-platform-tests/streams/readable-streams/tee.any.js b/tests/wpt/web-platform-tests/streams/readable-streams/tee.any.js
index ba7813642b7..4a07f0f2bfb 100644
--- a/tests/wpt/web-platform-tests/streams/readable-streams/tee.any.js
+++ b/tests/wpt/web-platform-tests/streams/readable-streams/tee.any.js
@@ -1,6 +1,7 @@
// META: global=worker,jsshell
// META: script=../resources/rs-utils.js
// META: script=../resources/test-utils.js
+// META: script=../resources/recording-streams.js
'use strict';
test(() => {
@@ -158,7 +159,7 @@ promise_test(() => {
})
]);
-}, 'ReadableStream teeing: canceling branch2 should not impact branch2');
+}, 'ReadableStream teeing: canceling branch2 should not impact branch1');
promise_test(() => {
@@ -340,3 +341,111 @@ test(t => {
assert_not_equals(getReader.call(rs2), undefined, 'getReader should work on rs2');
}, 'ReadableStreamTee should not use a modified ReadableStream constructor from the global object');
+
+promise_test(t => {
+
+ const rs = recordingReadableStream({}, { highWaterMark: 0 });
+
+ // Create two branches, each with a HWM of 1. This should result in one
+ // chunk being pulled, not two.
+ rs.tee();
+ return flushAsyncEvents().then(() => {
+ assert_array_equals(rs.events, ['pull'], 'pull should only be called once');
+ });
+
+}, 'ReadableStreamTee should not pull more chunks than can fit in the branch queue');
+
+promise_test(t => {
+
+ const rs = recordingReadableStream({
+ pull(controller) {
+ controller.enqueue('a');
+ }
+ }, { highWaterMark: 0 });
+
+ const [reader1, reader2] = rs.tee().map(branch => branch.getReader());
+ return Promise.all([reader1.read(), reader2.read()])
+ .then(() => {
+ assert_array_equals(rs.events, ['pull', 'pull'], 'pull should be called twice');
+ });
+
+}, 'ReadableStreamTee should only pull enough to fill the emptiest queue');
+
+promise_test(t => {
+
+ const rs = recordingReadableStream({}, { highWaterMark: 0 });
+ const theError = { name: 'boo!' };
+
+ rs.controller.error(theError);
+
+ const [reader1, reader2] = rs.tee().map(branch => branch.getReader());
+
+ return flushAsyncEvents().then(() => {
+ assert_array_equals(rs.events, [], 'pull should not be called');
+
+ return Promise.all([
+ promise_rejects(t, theError, reader1.closed),
+ promise_rejects(t, theError, reader2.closed)
+ ]);
+ });
+
+}, 'ReadableStreamTee should not pull when original is already errored');
+
+for (const branch of [1, 2]) {
+ promise_test(t => {
+
+ const rs = recordingReadableStream({}, { highWaterMark: 0 });
+ const theError = { name: 'boo!' };
+
+ const [reader1, reader2] = rs.tee().map(branch => branch.getReader());
+
+ return flushAsyncEvents().then(() => {
+ assert_array_equals(rs.events, ['pull'], 'pull should be called once');
+
+ rs.controller.enqueue('a');
+
+ const reader = (branch === 1) ? reader1 : reader2;
+ return reader.read();
+ }).then(() => flushAsyncEvents()).then(() => {
+ assert_array_equals(rs.events, ['pull', 'pull'], 'pull should be called twice');
+
+ rs.controller.error(theError);
+
+ return Promise.all([
+ promise_rejects(t, theError, reader1.closed),
+ promise_rejects(t, theError, reader2.closed)
+ ]);
+ }).then(() => flushAsyncEvents()).then(() => {
+ assert_array_equals(rs.events, ['pull', 'pull'], 'pull should be called twice');
+ });
+
+ }, `ReadableStreamTee stops pulling when original stream errors while branch ${branch} is reading`);
+}
+
+promise_test(t => {
+
+ const rs = recordingReadableStream({}, { highWaterMark: 0 });
+ const theError = { name: 'boo!' };
+
+ const [reader1, reader2] = rs.tee().map(branch => branch.getReader());
+
+ return flushAsyncEvents().then(() => {
+ assert_array_equals(rs.events, ['pull'], 'pull should be called once');
+
+ rs.controller.enqueue('a');
+
+ return Promise.all([reader1.read(), reader2.read()]);
+ }).then(() => flushAsyncEvents()).then(() => {
+ assert_array_equals(rs.events, ['pull', 'pull'], 'pull should be called twice');
+
+ rs.controller.error(theError);
+
+ return Promise.all([
+ promise_rejects(t, theError, reader1.closed),
+ promise_rejects(t, theError, reader2.closed)
+ ]);
+ }).then(() => flushAsyncEvents()).then(() => {
+ assert_array_equals(rs.events, ['pull', 'pull'], 'pull should be called twice');
+ });
+
+}, 'ReadableStreamTee stops pulling when original stream errors while both branches are reading');
diff --git a/tests/wpt/web-platform-tests/tools/ci/action_manifest_build.sh b/tests/wpt/web-platform-tests/tools/ci/action_manifest_build.sh
deleted file mode 100755
index ad6a4cb16e7..00000000000
--- a/tests/wpt/web-platform-tests/tools/ci/action_manifest_build.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/bash
-set -ex
-
-mkdir -p ~/meta
-
-WPT_MANIFEST_FILE=~/meta/MANIFEST.json
-
-./wpt manifest -p $WPT_MANIFEST_FILE
-gzip -k -f --best $WPT_MANIFEST_FILE
-bzip2 -k -f --best $WPT_MANIFEST_FILE
-zstd -k -f --ultra -22 $WPT_MANIFEST_FILE
diff --git a/tests/wpt/web-platform-tests/tools/ci/ci_lint.sh b/tests/wpt/web-platform-tests/tools/ci/ci_lint.sh
deleted file mode 100755
index bf98f209eba..00000000000
--- a/tests/wpt/web-platform-tests/tools/ci/ci_lint.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/bash
-set -ex
-
-SCRIPT_DIR=$(cd $(dirname "$0") && pwd -P)
-WPT_ROOT=$SCRIPT_DIR/../..
-cd $WPT_ROOT
-
-mkdir -p ~/meta
-./wpt manifest -p ~/meta/MANIFEST.json
-./wpt lint --all
diff --git a/tests/wpt/web-platform-tests/tools/ci/tag_master.py b/tests/wpt/web-platform-tests/tools/ci/manifest_build.py
index d672d13fe23..98e7ce75e51 100644
--- a/tests/wpt/web-platform-tests/tools/ci/tag_master.py
+++ b/tests/wpt/web-platform-tests/tools/ci/manifest_build.py
@@ -1,6 +1,7 @@
import json
import logging
import os
+import subprocess
import sys
import requests
@@ -17,6 +18,32 @@ logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)
+class Status(object):
+ SUCCESS = 0
+ FAIL = 1
+ NEUTRAL = 78
+
+
+def run(cmd, return_stdout=False, **kwargs):
+ logger.info(" ".join(cmd))
+ if return_stdout:
+ f = subprocess.check_output
+ else:
+ f = subprocess.check_call
+ return f(cmd, **kwargs)
+
+
+def create_manifest(path):
+ run(["./wpt", "manifest", "-p", path])
+
+
+def compress_manifest(path):
+ for args in [["gzip", "-k", "-f", "--best"],
+ ["bzip2", "-k", "-f", "--best"],
+ ["zstd", "-k", "-f", "--ultra", "-22"]]:
+ run(args + [path])
+
+
def request(url, desc, data=None, json_data=None, params=None, headers=None):
github_token = os.environ.get("GITHUB_TOKEN")
default_headers = {
@@ -92,7 +119,7 @@ def tag(owner, repo, sha, tag):
return True
-def create_release(owner, repo, sha, tag, summary, body):
+def create_release(manifest_path, owner, repo, sha, tag, summary, body):
if body:
body = "%s\n%s" % (summary, body)
else:
@@ -117,7 +144,7 @@ def create_release(owner, repo, sha, tag, summary, body):
params = {"name": upload_filename,
"label": "MANIFEST.json%s" % upload_ext}
- with open(os.path.expanduser("~/meta/MANIFEST.json%s" % upload_ext), "rb") as f:
+ with open("%s%s" % (manifest_path, upload_ext), "rb") as f:
upload_data = f.read()
logger.info("Uploading %s bytes" % len(upload_data))
@@ -148,7 +175,7 @@ def main():
repo_key = "GITHUB_REPOSITORY"
if not should_run_action():
- return
+ return Status.NEUTRAL
owner, repo = os.environ[repo_key].split("/", 1)
@@ -162,16 +189,28 @@ def main():
else:
tag_name = "merge_pr_%s" % pr
+ manifest_path = os.path.expanduser(os.path.join("~", "meta", "MANIFEST.json"))
+
+ os.makedirs(os.path.dirname(manifest_path))
+
+ create_manifest(manifest_path)
+
+ compress_manifest(manifest_path)
+
tagged = tag(owner, repo, head_rev, tag_name)
if not tagged:
- sys.exit(1)
+ return Status.FAIL
summary = git("show", "--no-patch", '--format="%s"', "HEAD")
body = git("show", "--no-patch", '--format="%b"', "HEAD")
- if not create_release(owner, repo, head_rev, tag_name, summary, body):
- sys.exit(1)
+ if not create_release(manifest_path, owner, repo, head_rev, tag_name, summary, body):
+ return Status.FAIL
+
+ return Status.SUCCESS
if __name__ == "__main__":
- main()
+ code = main()
+ assert isinstance(code, int)
+ sys.exit(code)
diff --git a/tests/wpt/web-platform-tests/tools/ci/run_tc.py b/tests/wpt/web-platform-tests/tools/ci/run_tc.py
index 32eef7cb69c..1cfb41fcaab 100755
--- a/tests/wpt/web-platform-tests/tools/ci/run_tc.py
+++ b/tests/wpt/web-platform-tests/tools/ci/run_tc.py
@@ -223,7 +223,7 @@ def setup_environment(args):
def setup_repository():
if os.environ.get("GITHUB_PULL_REQUEST", "false") != "false":
- parents = run(["git", "show", "--format=%P", "task_head"], return_stdout=True).strip().split()
+ parents = run(["git", "show", "--no-patch", "--format=%P", "task_head"], return_stdout=True).strip().split()
if len(parents) == 2:
base_head = parents[0]
pr_head = parents[1]
@@ -233,6 +233,9 @@ def setup_repository():
else:
print("ERROR: Pull request HEAD wasn't a 2-parent merge commit; "
"expected to test the merge of PR into the base")
+ commit = run(["git", "show", "--no-patch", "--format=%H", "task_head"], return_stdout=True).strip()
+ print("HEAD: %s" % commit)
+ print("Parents: %s" % ", ".join(parents))
sys.exit(1)
branch = os.environ.get("GITHUB_BRANCH")
@@ -260,6 +263,8 @@ def main():
job = args.job
+ print("Job %s" % job)
+
run_if = [(lambda: job == "all", "job set to 'all'"),
(lambda:"all" in extra_jobs, "Manually specified jobs includes 'all'"),
(lambda:job in extra_jobs, "Manually specified jobs includes '%s'" % job),
diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/requirements.txt b/tests/wpt/web-platform-tests/tools/wptrunner/requirements.txt
index f2a336875f0..887068b34d2 100644
--- a/tests/wpt/web-platform-tests/tools/wptrunner/requirements.txt
+++ b/tests/wpt/web-platform-tests/tools/wptrunner/requirements.txt
@@ -1,8 +1,8 @@
html5lib==1.0.1
-mozinfo==0.10
+mozinfo==1.1.0
mozlog==4.0
mozdebug==0.1.1
-pillow==5.4.1
+pillow==6.0.0
urllib3[secure]==1.24.1
requests==2.21.0
six>=1.8
diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/tests/test_products.py b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/tests/test_products.py
index d6a16a192cf..5d2bcf075d0 100644
--- a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/tests/test_products.py
+++ b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/tests/test_products.py
@@ -2,7 +2,6 @@ from os.path import join, dirname
import mock
import pytest
-import sys
from .base import all_products, active_products
from .. import environment
@@ -19,9 +18,7 @@ def test_load_active_product(product):
# test passes if it doesn't throw
-@all_products("product", marks={
- "firefox": pytest.mark.xfail(sys.version[0] == "3", reason="mozinfo 0.10 doesn't support py3"),
-})
+@all_products("product")
def test_load_all_products(product):
"""test every product either loads or throws ImportError"""
try:
diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/wptmanifest/parser.py b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/wptmanifest/parser.py
index e6c2e5b5ca2..b16d96a42d4 100644
--- a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/wptmanifest/parser.py
+++ b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/wptmanifest/parser.py
@@ -14,7 +14,7 @@
from __future__ import unicode_literals
-from six.moves import cStringIO as StringIO
+from six import binary_type, text_type, BytesIO
from .node import (AtomNode, BinaryExpressionNode, BinaryOperatorNode,
ConditionalNode, DataNode, IndexNode, KeyValueNode, ListNode,
@@ -49,7 +49,7 @@ atoms = {"True": True,
"Reset": object()}
def decode(s):
- assert isinstance(s, unicode)
+ assert isinstance(s, text_type)
return s
@@ -77,9 +77,9 @@ class Tokenizer(object):
def tokenize(self, stream):
self.reset()
- assert not isinstance(stream, unicode)
- if isinstance(stream, str):
- stream = StringIO(stream)
+ assert not isinstance(stream, text_type)
+ if isinstance(stream, bytes):
+ stream = BytesIO(stream)
if not hasattr(stream, "name"):
self.filename = ""
else:
@@ -87,7 +87,7 @@ class Tokenizer(object):
self.next_line_state = self.line_start_state
for i, line in enumerate(stream):
- assert isinstance(line, str)
+ assert isinstance(line, binary_type)
self.state = self.next_line_state
assert self.state is not None
states = []
@@ -95,7 +95,7 @@ class Tokenizer(object):
self.line_number = i + 1
self.index = 0
self.line = line.decode('utf-8').rstrip()
- assert isinstance(self.line, unicode)
+ assert isinstance(self.line, text_type)
while self.state != self.eol_state:
states.append(self.state)
tokens = self.state()
diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/wptmanifest/tests/test_tokenizer.py b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/wptmanifest/tests/test_tokenizer.py
index b7c62c00414..40a8acc6cab 100644
--- a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/wptmanifest/tests/test_tokenizer.py
+++ b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/wptmanifest/tests/test_tokenizer.py
@@ -1,22 +1,15 @@
-import sys
-import pytest
import unittest
-from six.moves import cStringIO as StringIO
-
from .. import parser
from ..parser import token_types
-
-@pytest.mark.xfail(sys.version[0] == "3",
- reason="Tokenizer doesn't support py3")
class TokenizerTest(unittest.TestCase):
def setUp(self):
self.tokenizer = parser.Tokenizer()
def tokenize(self, input_str):
rv = []
- for item in self.tokenizer.tokenize(StringIO(input_str)):
+ for item in self.tokenizer.tokenize(input_str):
rv.append(item)
if item[0] == token_types.eof:
break
@@ -25,128 +18,128 @@ class TokenizerTest(unittest.TestCase):
def compare(self, input_text, expected):
expected = expected + [(token_types.eof, None)]
actual = self.tokenize(input_text)
- self.assertEquals(actual, expected)
+ self.assertEqual(actual, expected)
def test_heading_0(self):
- self.compare("""[Heading text]""",
+ self.compare(b"""[Heading text]""",
[(token_types.paren, "["),
(token_types.string, "Heading text"),
(token_types.paren, "]")])
def test_heading_1(self):
- self.compare("""[Heading [text\]]""",
+ self.compare(b"""[Heading [text\]]""",
[(token_types.paren, "["),
(token_types.string, "Heading [text]"),
(token_types.paren, "]")])
def test_heading_2(self):
- self.compare("""[Heading #text]""",
+ self.compare(b"""[Heading #text]""",
[(token_types.paren, "["),
(token_types.string, "Heading #text"),
(token_types.paren, "]")])
def test_heading_3(self):
- self.compare("""[Heading [\]text]""",
+ self.compare(b"""[Heading [\]text]""",
[(token_types.paren, "["),
(token_types.string, "Heading []text"),
(token_types.paren, "]")])
def test_heading_4(self):
with self.assertRaises(parser.ParseError):
- self.tokenize("[Heading")
+ self.tokenize(b"[Heading")
def test_heading_5(self):
- self.compare("""[Heading [\]text] #comment""",
+ self.compare(b"""[Heading [\]text] #comment""",
[(token_types.paren, "["),
(token_types.string, "Heading []text"),
(token_types.paren, "]")])
def test_heading_6(self):
- self.compare(r"""[Heading \ttext]""",
+ self.compare(br"""[Heading \ttext]""",
[(token_types.paren, "["),
(token_types.string, "Heading \ttext"),
(token_types.paren, "]")])
def test_key_0(self):
- self.compare("""key:value""",
+ self.compare(b"""key:value""",
[(token_types.string, "key"),
(token_types.separator, ":"),
(token_types.string, "value")])
def test_key_1(self):
- self.compare("""key : value""",
+ self.compare(b"""key : value""",
[(token_types.string, "key"),
(token_types.separator, ":"),
(token_types.string, "value")])
def test_key_2(self):
- self.compare("""key : val ue""",
+ self.compare(b"""key : val ue""",
[(token_types.string, "key"),
(token_types.separator, ":"),
(token_types.string, "val ue")])
def test_key_3(self):
- self.compare("""key: value#comment""",
+ self.compare(b"""key: value#comment""",
[(token_types.string, "key"),
(token_types.separator, ":"),
(token_types.string, "value")])
def test_key_4(self):
with self.assertRaises(parser.ParseError):
- self.tokenize("""ke y: value""")
+ self.tokenize(b"""ke y: value""")
def test_key_5(self):
with self.assertRaises(parser.ParseError):
- self.tokenize("""key""")
+ self.tokenize(b"""key""")
def test_key_6(self):
- self.compare("""key: "value\"""",
+ self.compare(b"""key: "value\"""",
[(token_types.string, "key"),
(token_types.separator, ":"),
(token_types.string, "value")])
def test_key_7(self):
- self.compare("""key: 'value'""",
+ self.compare(b"""key: 'value'""",
[(token_types.string, "key"),
(token_types.separator, ":"),
(token_types.string, "value")])
def test_key_8(self):
- self.compare("""key: "#value\"""",
+ self.compare(b"""key: "#value\"""",
[(token_types.string, "key"),
(token_types.separator, ":"),
(token_types.string, "#value")])
def test_key_9(self):
- self.compare("""key: '#value\'""",
+ self.compare(b"""key: '#value\'""",
[(token_types.string, "key"),
(token_types.separator, ":"),
(token_types.string, "#value")])
def test_key_10(self):
with self.assertRaises(parser.ParseError):
- self.tokenize("""key: "value""")
+ self.tokenize(b"""key: "value""")
def test_key_11(self):
with self.assertRaises(parser.ParseError):
- self.tokenize("""key: 'value""")
+ self.tokenize(b"""key: 'value""")
def test_key_12(self):
with self.assertRaises(parser.ParseError):
- self.tokenize("""key: 'value""")
+ self.tokenize(b"""key: 'value""")
def test_key_13(self):
with self.assertRaises(parser.ParseError):
- self.tokenize("""key: 'value' abc""")
+ self.tokenize(b"""key: 'value' abc""")
def test_key_14(self):
- self.compare(r"""key: \\nb""",
+ self.compare(br"""key: \\nb""",
[(token_types.string, "key"),
(token_types.separator, ":"),
(token_types.string, r"\nb")])
def test_list_0(self):
- self.compare("""
+ self.compare(b"""
key: []""",
[(token_types.string, "key"),
(token_types.separator, ":"),
@@ -154,7 +147,7 @@ key: []""",
(token_types.list_end, "]")])
def test_list_1(self):
- self.compare("""
+ self.compare(b"""
key: [a, "b"]""",
[(token_types.string, "key"),
(token_types.separator, ":"),
@@ -164,7 +157,7 @@ key: [a, "b"]""",
(token_types.list_end, "]")])
def test_list_2(self):
- self.compare("""
+ self.compare(b"""
key: [a,
b]""",
[(token_types.string, "key"),
@@ -175,7 +168,7 @@ key: [a,
(token_types.list_end, "]")])
def test_list_3(self):
- self.compare("""
+ self.compare(b"""
key: [a, #b]
c]""",
[(token_types.string, "key"),
@@ -187,16 +180,16 @@ key: [a, #b]
def test_list_4(self):
with self.assertRaises(parser.ParseError):
- self.tokenize("""key: [a #b]
+ self.tokenize(b"""key: [a #b]
c]""")
def test_list_5(self):
with self.assertRaises(parser.ParseError):
- self.tokenize("""key: [a \\
+ self.tokenize(b"""key: [a \\
c]""")
def test_list_6(self):
- self.compare("""key: [a , b]""",
+ self.compare(b"""key: [a , b]""",
[(token_types.string, "key"),
(token_types.separator, ":"),
(token_types.list_start, "["),
@@ -205,7 +198,7 @@ key: [a, #b]
(token_types.list_end, "]")])
def test_expr_0(self):
- self.compare("""
+ self.compare(b"""
key:
if cond == 1: value""",
[(token_types.string, "key"),
@@ -219,7 +212,7 @@ key:
(token_types.string, "value")])
def test_expr_1(self):
- self.compare("""
+ self.compare(b"""
key:
if cond == 1: value1
value2""",
@@ -235,7 +228,7 @@ key:
(token_types.string, "value2")])
def test_expr_2(self):
- self.compare("""
+ self.compare(b"""
key:
if cond=="1": value""",
[(token_types.string, "key"),
@@ -249,7 +242,7 @@ key:
(token_types.string, "value")])
def test_expr_3(self):
- self.compare("""
+ self.compare(b"""
key:
if cond==1.1: value""",
[(token_types.string, "key"),
@@ -263,7 +256,7 @@ key:
(token_types.string, "value")])
def test_expr_4(self):
- self.compare("""
+ self.compare(b"""
key:
if cond==1.1 and cond2 == "a": value""",
[(token_types.string, "key"),
@@ -281,7 +274,7 @@ key:
(token_types.string, "value")])
def test_expr_5(self):
- self.compare("""
+ self.compare(b"""
key:
if (cond==1.1 ): value""",
[(token_types.string, "key"),
@@ -297,7 +290,7 @@ key:
(token_types.string, "value")])
def test_expr_6(self):
- self.compare("""
+ self.compare(b"""
key:
if "\\ttest": value""",
[(token_types.string, "key"),
@@ -310,27 +303,24 @@ key:
def test_expr_7(self):
with self.assertRaises(parser.ParseError):
- self.tokenize(
- """
+ self.tokenize(b"""
key:
if 1A: value""")
def test_expr_8(self):
with self.assertRaises(parser.ParseError):
- self.tokenize(
- """
+ self.tokenize(b"""
key:
if 1a: value""")
def test_expr_9(self):
with self.assertRaises(parser.ParseError):
- self.tokenize(
- """
+ self.tokenize(b"""
key:
if 1.1.1: value""")
def test_expr_10(self):
- self.compare("""
+ self.compare(b"""
key:
if 1.: value""",
[(token_types.string, "key"),
diff --git a/tests/wpt/web-platform-tests/wake-lock/idlharness.https.any.js b/tests/wpt/web-platform-tests/wake-lock/idlharness.https.any.js
index 5e3ae75064c..fa47bd9b1e0 100644
--- a/tests/wpt/web-platform-tests/wake-lock/idlharness.https.any.js
+++ b/tests/wpt/web-platform-tests/wake-lock/idlharness.https.any.js
@@ -7,7 +7,7 @@
idl_test(
['wake-lock'],
- ['dom', 'html'],
+ ['dom', 'html', 'permissions'],
idl_array => {
idl_array.add_objects({
WakeLock: ['new WakeLock("screen")']
diff --git a/tests/wpt/web-platform-tests/webauthn/idlharness.https.window.js b/tests/wpt/web-platform-tests/webauthn/idlharness.https.window.js
index a228644b8ca..fa5e812eeee 100644
--- a/tests/wpt/web-platform-tests/webauthn/idlharness.https.window.js
+++ b/tests/wpt/web-platform-tests/webauthn/idlharness.https.window.js
@@ -7,24 +7,22 @@
'use strict';
-promise_test(() => {
- const execute_test = () => idl_test(
- ['webauthn'],
- ['credential-management'],
- idlArray => {
- idlArray.add_untested_idls("[Exposed=(Window,Worker)] interface ArrayBuffer {};");
- idlArray.add_objects({
- WebAuthentication: ['navigator.authentication'],
- PublicKeyCredential: ['cred'],
- AuthenticatorAssertionResponse: ['assertionResponse']
- });
- }
- );
+idl_test(
+ ['webauthn'],
+ ['credential-management'],
+ async idlArray => {
+ idlArray.add_untested_idls("[Exposed=(Window,Worker)] interface ArrayBuffer {};");
+ idlArray.add_objects({
+ WebAuthentication: ['navigator.authentication'],
+ PublicKeyCredential: ['cred', 'assertion'],
+ AuthenticatorAttestationResponse: ['cred.response'],
+ AuthenticatorAssertionResponse: ['assertion.response']
+ });
- let challengeBytes = new Uint8Array(16);
- window.crypto.getRandomValues(challengeBytes);
+ const challengeBytes = new Uint8Array(16);
+ window.crypto.getRandomValues(challengeBytes);
- return createCredential({
+ self.cred = await createCredential({
options: {
publicKey: {
timeout: 3000,
@@ -33,27 +31,18 @@ promise_test(() => {
},
}
}
- })
- .then(cred => {
- self.cred = cred;
- return navigator.credentials.get({
- publicKey: {
- timeout: 3000,
- allowCredentials: [{
- id: cred.rawId,
- transports: ["usb", "nfc", "ble"],
- type: "public-key"
- }],
- challenge: challengeBytes,
- }
- });
- })
- .then(assertion => {
- self.assertionResponse = assertion.response;
- })
- .then(execute_test)
- .catch(reason => {
- execute_test();
- return Promise.reject(reason);
});
-});
+
+ self.assertion = await navigator.credentials.get({
+ publicKey: {
+ timeout: 3000,
+ allowCredentials: [{
+ id: cred.rawId,
+ transports: ["usb", "nfc", "ble"],
+ type: "public-key"
+ }],
+ challenge: challengeBytes,
+ }
+ });
+ }
+);
diff --git a/tests/wpt/webgl/meta/conformance/textures/misc/texture-upload-size.html.ini b/tests/wpt/webgl/meta/conformance/textures/misc/texture-upload-size.html.ini
index 4d0bf200612..f43c95153a6 100644
--- a/tests/wpt/webgl/meta/conformance/textures/misc/texture-upload-size.html.ini
+++ b/tests/wpt/webgl/meta/conformance/textures/misc/texture-upload-size.html.ini
@@ -29,3 +29,6 @@
[WebGL test #116: could not create image (SVG)]
expected: FAIL
+ [WebGL test #172: could not create image (SVG)]
+ expected: FAIL
+