aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/wpt/metadata/MANIFEST.json511
-rw-r--r--tests/wpt/metadata/css/css-text/overflow-wrap/overflow-wrap-break-word-007.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-text/white-space/pre-wrap-008.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-text/word-break/word-break-break-all-011.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-text/word-break/word-break-break-all-015.html.ini2
-rw-r--r--tests/wpt/metadata/css/cssom-view/scroll-behavior-smooth.html.ini3
-rw-r--r--tests/wpt/metadata/fetch/content-type/response.window.js.ini6
-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/the-window-object/self-et-al.window.js.ini2
-rw-r--r--tests/wpt/metadata/html/browsers/windows/nested-browsing-contexts/name-attribute.window.js.ini2
-rw-r--r--tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/document-write/iframe_005.html.ini4
-rw-r--r--tests/wpt/metadata/resource-timing/nested-context-navigations.html.ini56
-rw-r--r--tests/wpt/metadata/workers/semantics/multiple-workers/005.html.ini1
-rw-r--r--tests/wpt/web-platform-tests/.travis.yml19
-rw-r--r--tests/wpt/web-platform-tests/2dcontext/META.yml1
-rw-r--r--tests/wpt/web-platform-tests/WebIDL/META.yml1
-rw-r--r--tests/wpt/web-platform-tests/accelerometer/META.yml1
-rw-r--r--tests/wpt/web-platform-tests/ambient-light/META.yml1
-rw-r--r--tests/wpt/web-platform-tests/battery-status/META.yml1
-rw-r--r--tests/wpt/web-platform-tests/bluetooth/META.yml1
-rw-r--r--tests/wpt/web-platform-tests/common/META.yml1
-rw-r--r--tests/wpt/web-platform-tests/cookies/META.yml1
-rw-r--r--tests/wpt/web-platform-tests/css/CSS2/META.yml1
-rw-r--r--tests/wpt/web-platform-tests/css/WOFF2/META.yml1
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/META.yml2
-rw-r--r--tests/wpt/web-platform-tests/css/css-color/META.yml1
-rw-r--r--tests/wpt/web-platform-tests/css/css-display/run-in/META.yml2
-rw-r--r--tests/wpt/web-platform-tests/css/css-exclusions/META.yml1
-rw-r--r--tests/wpt/web-platform-tests/css/css-flexbox/META.yml1
-rw-r--r--tests/wpt/web-platform-tests/css/css-grid/META.yml2
-rw-r--r--tests/wpt/web-platform-tests/css/css-logical/META.yml1
-rw-r--r--tests/wpt/web-platform-tests/css/css-position/META.yml2
-rw-r--r--tests/wpt/web-platform-tests/css/css-properties-values-api/registered-property-computation.html6
-rw-r--r--tests/wpt/web-platform-tests/css/css-properties-values-api/registered-property-initial.html26
-rw-r--r--tests/wpt/web-platform-tests/css/css-regions/META.yml1
-rw-r--r--tests/wpt/web-platform-tests/css/css-scrollbars/META.yml2
-rw-r--r--tests/wpt/web-platform-tests/css/css-shapes/META.yml2
-rw-r--r--tests/wpt/web-platform-tests/css/css-style-attr/META.yml1
-rw-r--r--tests/wpt/web-platform-tests/css/css-syntax/META.yml1
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/META.yml1
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-007.html38
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-008.html38
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/word-break/word-break-break-all-011.html5
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/word-break/word-break-break-all-012.html4
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/word-break/word-break-break-all-013.html4
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/word-break/word-break-break-all-015.html38
-rw-r--r--tests/wpt/web-platform-tests/css/css-transforms/META.yml1
-rw-r--r--tests/wpt/web-platform-tests/css/css-ui/META.yml1
-rw-r--r--tests/wpt/web-platform-tests/css/css-writing-modes/META.yml1
-rw-r--r--tests/wpt/web-platform-tests/css/selectors/META.yml1
-rw-r--r--tests/wpt/web-platform-tests/device-memory/META.yml1
-rw-r--r--tests/wpt/web-platform-tests/docs/META.yml1
-rw-r--r--tests/wpt/web-platform-tests/encrypted-media/META.yml5
-rw-r--r--tests/wpt/web-platform-tests/event-timing/META.yml1
-rw-r--r--tests/wpt/web-platform-tests/feature-policy/META.yml2
-rw-r--r--tests/wpt/web-platform-tests/gamepad/META.yml2
-rw-r--r--tests/wpt/web-platform-tests/generic-sensor/META.yml1
-rw-r--r--tests/wpt/web-platform-tests/gyroscope/META.yml1
-rw-r--r--tests/wpt/web-platform-tests/html-media-capture/META.yml1
-rw-r--r--tests/wpt/web-platform-tests/html/browsers/the-window-object/document-attribute.window.js15
-rw-r--r--tests/wpt/web-platform-tests/html/browsers/the-window-object/self-et-al.window.js43
-rw-r--r--tests/wpt/web-platform-tests/html/user-activation/activation-transfer-cross-origin-with-click.sub.tentative.html12
-rw-r--r--tests/wpt/web-platform-tests/html/user-activation/activation-transfer-with-click.tentative.html12
-rw-r--r--tests/wpt/web-platform-tests/imagebitmap-renderingcontext/META.yml1
-rw-r--r--tests/wpt/web-platform-tests/lint.whitelist2
-rw-r--r--tests/wpt/web-platform-tests/magnetometer/META.yml1
-rw-r--r--tests/wpt/web-platform-tests/mathml/presentation-markup/fractions/frac-linethickness-001-ref.html25
-rw-r--r--tests/wpt/web-platform-tests/mathml/presentation-markup/fractions/frac-linethickness-001.html19
-rw-r--r--tests/wpt/web-platform-tests/mediacapture-depth/META.yml1
-rw-r--r--tests/wpt/web-platform-tests/mediacapture-streams/META.yml2
-rw-r--r--tests/wpt/web-platform-tests/notifications/META.yml1
-rw-r--r--tests/wpt/web-platform-tests/offscreen-canvas/META.yml1
-rw-r--r--tests/wpt/web-platform-tests/orientation-sensor/META.yml1
-rw-r--r--tests/wpt/web-platform-tests/paint-timing/META.yml1
-rw-r--r--tests/wpt/web-platform-tests/payment-method-id/META.yml1
-rw-r--r--tests/wpt/web-platform-tests/payment-request/PaymentAddress/attributes-and-toJSON-method-manual.https.html1
-rw-r--r--tests/wpt/web-platform-tests/payment-request/payment-response/onpayerdetailchange-attribute-manual.https.html11
-rw-r--r--tests/wpt/web-platform-tests/pointerevents/META.yml2
-rw-r--r--tests/wpt/web-platform-tests/proximity/META.yml1
-rw-r--r--tests/wpt/web-platform-tests/referrer-policy/META.yml2
-rw-r--r--tests/wpt/web-platform-tests/resource-timing/META.yml1
-rw-r--r--tests/wpt/web-platform-tests/resource-timing/nested-context-navigations.html31
-rw-r--r--tests/wpt/web-platform-tests/resource-timing/resources/document-navigated.html12
-rw-r--r--tests/wpt/web-platform-tests/resource-timing/resources/document-refreshed.html12
-rw-r--r--tests/wpt/web-platform-tests/resource-timing/resources/document-that-navigates.html11
-rw-r--r--tests/wpt/web-platform-tests/resource-timing/resources/document-that-refreshes.html8
-rw-r--r--tests/wpt/web-platform-tests/resource-timing/resources/embed-navigate-back.html14
-rw-r--r--tests/wpt/web-platform-tests/resource-timing/resources/embed-navigate.html15
-rw-r--r--tests/wpt/web-platform-tests/resource-timing/resources/embed-refresh.html15
-rw-r--r--tests/wpt/web-platform-tests/resource-timing/resources/iframe-navigate-back.html14
-rw-r--r--tests/wpt/web-platform-tests/resource-timing/resources/iframe-navigate.html15
-rw-r--r--tests/wpt/web-platform-tests/resource-timing/resources/iframe-refresh.html15
-rw-r--r--tests/wpt/web-platform-tests/resource-timing/resources/navigate_back.html7
-rw-r--r--tests/wpt/web-platform-tests/resource-timing/resources/nested-contexts.js95
-rw-r--r--tests/wpt/web-platform-tests/resource-timing/resources/object-navigate-back.html14
-rw-r--r--tests/wpt/web-platform-tests/resource-timing/resources/object-navigate.html15
-rw-r--r--tests/wpt/web-platform-tests/resource-timing/resources/object-refresh.html15
-rw-r--r--tests/wpt/web-platform-tests/resources/chromium/device.mojom.js142
-rw-r--r--tests/wpt/web-platform-tests/resources/chromium/webusb-test.js13
-rw-r--r--tests/wpt/web-platform-tests/screen-orientation/META.yml1
-rw-r--r--tests/wpt/web-platform-tests/screen-orientation/lock-unlock-check.html26
-rw-r--r--tests/wpt/web-platform-tests/screen-orientation/resources/orientation-utils.js17
-rw-r--r--tests/wpt/web-platform-tests/scroll-animations/META.yml1
-rw-r--r--tests/wpt/web-platform-tests/selection/Document-open.html48
-rwxr-xr-xtests/wpt/web-platform-tests/signed-exchange/resources/generate-test-sxgs.sh31
-rw-r--r--tests/wpt/web-platform-tests/signed-exchange/resources/register-sw-after-fallback.html23
-rw-r--r--tests/wpt/web-platform-tests/signed-exchange/resources/register-sw.html23
-rw-r--r--tests/wpt/web-platform-tests/signed-exchange/resources/service-worker.js5
-rw-r--r--tests/wpt/web-platform-tests/signed-exchange/resources/sxg-util.js13
-rw-r--r--tests/wpt/web-platform-tests/signed-exchange/resources/sxg/register-sw-after-fallback.sxgbin0 -> 999 bytes
-rw-r--r--tests/wpt/web-platform-tests/signed-exchange/resources/sxg/register-sw-from-sxg.sxgbin0 -> 1579 bytes
-rw-r--r--tests/wpt/web-platform-tests/signed-exchange/service-workers/sxg-sw-register-after-fallback.tentative.https.html23
-rw-r--r--tests/wpt/web-platform-tests/signed-exchange/service-workers/sxg-sw-register.tentative.https.html23
-rw-r--r--tests/wpt/web-platform-tests/speech-api/META.yml1
-rw-r--r--tests/wpt/web-platform-tests/streams/META.yml1
-rw-r--r--tests/wpt/web-platform-tests/subresource-integrity/META.yml1
-rw-r--r--tests/wpt/web-platform-tests/svg/META.yml1
-rw-r--r--tests/wpt/web-platform-tests/tools/wpt/run.py2
-rw-r--r--tests/wpt/web-platform-tests/tools/wpt/virtualenv.py35
-rw-r--r--tests/wpt/web-platform-tests/tools/wptrunner/requirements.txt2
-rw-r--r--tests/wpt/web-platform-tests/tools/wptrunner/requirements_firefox.txt2
-rw-r--r--tests/wpt/web-platform-tests/url/META.yml1
-rw-r--r--tests/wpt/web-platform-tests/vibration/META.yml1
-rw-r--r--tests/wpt/web-platform-tests/wake-lock/META.yml1
-rw-r--r--tests/wpt/web-platform-tests/webaudio/the-audio-api/the-mediaelementaudiosourcenode-interface/mediaElementAudioSourceToScriptProcessorTest.html6
-rw-r--r--tests/wpt/web-platform-tests/webmessaging/META.yml1
-rw-r--r--tests/wpt/web-platform-tests/webrtc/META.yml2
-rw-r--r--tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-getStats.https.html47
-rw-r--r--tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-onnegotiationneeded.html23
-rw-r--r--tests/wpt/web-platform-tests/webstorage/META.yml1
-rw-r--r--tests/wpt/web-platform-tests/webxr/META.yml2
-rw-r--r--tests/wpt/web-platform-tests/webxr/resources/webxr_math_utils.js61
-rw-r--r--tests/wpt/web-platform-tests/webxr/xrRay_matrix.https.html39
-rw-r--r--tests/wpt/web-platform-tests/webxr/xrRigidTransform_matrix.https.html46
-rw-r--r--tests/wpt/web-platform-tests/xhr/META.yml3
135 files changed, 1614 insertions, 342 deletions
diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json
index 1bb4eec7fdd..a013d0cfa42 100644
--- a/tests/wpt/metadata/MANIFEST.json
+++ b/tests/wpt/metadata/MANIFEST.json
@@ -141717,6 +141717,18 @@
{}
]
],
+ "css/css-text/overflow-wrap/overflow-wrap-break-word-007.html": [
+ [
+ "css/css-text/overflow-wrap/overflow-wrap-break-word-007.html",
+ [
+ [
+ "/css/css-text/overflow-wrap/reference/overflow-wrap-break-word-001-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"css/css-text/overflow-wrap/overflow-wrap-break-word-fit-content-001.html": [
[
"css/css-text/overflow-wrap/overflow-wrap-break-word-fit-content-001.html",
@@ -144945,6 +144957,18 @@
{}
]
],
+ "css/css-text/white-space/pre-wrap-008.html": [
+ [
+ "css/css-text/white-space/pre-wrap-008.html",
+ [
+ [
+ "/css/css-text/white-space/reference/white-space-break-spaces-005-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"css/css-text/white-space/pre-wrap-011.html": [
[
"css/css-text/white-space/pre-wrap-011.html",
@@ -145625,6 +145649,18 @@
{}
]
],
+ "css/css-text/word-break/word-break-break-all-015.html": [
+ [
+ "css/css-text/word-break/word-break-break-all-015.html",
+ [
+ [
+ "/css/css-text/word-break/reference/word-break-break-all-010-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"css/css-text/word-break/word-break-break-all-020.html": [
[
"css/css-text/word-break/word-break-break-all-020.html",
@@ -257530,11 +257566,6 @@
{}
]
],
- "css/css-display/run-in/META.yml": [
- [
- {}
- ]
- ],
"css/css-display/run-in/run-in-basic-007-ref.xht": [
[
{}
@@ -310915,6 +310946,41 @@
{}
]
],
+ "resource-timing/resources/document-navigated.html": [
+ [
+ {}
+ ]
+ ],
+ "resource-timing/resources/document-refreshed.html": [
+ [
+ {}
+ ]
+ ],
+ "resource-timing/resources/document-that-navigates.html": [
+ [
+ {}
+ ]
+ ],
+ "resource-timing/resources/document-that-refreshes.html": [
+ [
+ {}
+ ]
+ ],
+ "resource-timing/resources/embed-navigate-back.html": [
+ [
+ {}
+ ]
+ ],
+ "resource-timing/resources/embed-navigate.html": [
+ [
+ {}
+ ]
+ ],
+ "resource-timing/resources/embed-refresh.html": [
+ [
+ {}
+ ]
+ ],
"resource-timing/resources/empty.js": [
[
{}
@@ -310970,6 +311036,21 @@
{}
]
],
+ "resource-timing/resources/iframe-navigate-back.html": [
+ [
+ {}
+ ]
+ ],
+ "resource-timing/resources/iframe-navigate.html": [
+ [
+ {}
+ ]
+ ],
+ "resource-timing/resources/iframe-refresh.html": [
+ [
+ {}
+ ]
+ ],
"resource-timing/resources/iframe-reload-TAO.sub.html": [
[
{}
@@ -311040,6 +311121,16 @@
{}
]
],
+ "resource-timing/resources/navigate_back.html": [
+ [
+ {}
+ ]
+ ],
+ "resource-timing/resources/nested-contexts.js": [
+ [
+ {}
+ ]
+ ],
"resource-timing/resources/nested.css": [
[
{}
@@ -311050,6 +311141,21 @@
{}
]
],
+ "resource-timing/resources/object-navigate-back.html": [
+ [
+ {}
+ ]
+ ],
+ "resource-timing/resources/object-navigate.html": [
+ [
+ {}
+ ]
+ ],
+ "resource-timing/resources/object-refresh.html": [
+ [
+ {}
+ ]
+ ],
"resource-timing/resources/resource_timing_test0.css": [
[
{}
@@ -312825,6 +312931,11 @@
{}
]
],
+ "screen-orientation/resources/orientation-utils.js": [
+ [
+ {}
+ ]
+ ],
"screen-orientation/resources/sandboxed-iframe-locking.html": [
[
{}
@@ -315850,6 +315961,21 @@
{}
]
],
+ "signed-exchange/resources/register-sw-after-fallback.html": [
+ [
+ {}
+ ]
+ ],
+ "signed-exchange/resources/register-sw.html": [
+ [
+ {}
+ ]
+ ],
+ "signed-exchange/resources/service-worker.js": [
+ [
+ {}
+ ]
+ ],
"signed-exchange/resources/sxg-location.html": [
[
{}
@@ -315905,6 +316031,16 @@
{}
]
],
+ "signed-exchange/resources/sxg/register-sw-after-fallback.sxg": [
+ [
+ {}
+ ]
+ ],
+ "signed-exchange/resources/sxg/register-sw-from-sxg.sxg": [
+ [
+ {}
+ ]
+ ],
"signed-exchange/resources/sxg/sxg-cert-not-found-on-alt-origin.sxg": [
[
{}
@@ -328900,6 +329036,11 @@
{}
]
],
+ "webxr/resources/webxr_math_utils.js": [
+ [
+ {}
+ ]
+ ],
"webxr/resources/webxr_test_asserts.js": [
[
{}
@@ -384673,6 +384814,14 @@
}
]
],
+ "html/browsers/the-window-object/document-attribute.window.js": [
+ [
+ "html/browsers/the-window-object/document-attribute.window.html",
+ {
+ "script_metadata": []
+ }
+ ]
+ ],
"html/browsers/the-window-object/focus.window.js": [
[
"html/browsers/the-window-object/focus.window.html",
@@ -384753,6 +384902,14 @@
{}
]
],
+ "html/browsers/the-window-object/self-et-al.window.js": [
+ [
+ "html/browsers/the-window-object/self-et-al.window.html",
+ {
+ "script_metadata": []
+ }
+ ]
+ ],
"html/browsers/the-window-object/window-aliases.html": [
[
"html/browsers/the-window-object/window-aliases.html",
@@ -426136,6 +426293,14 @@
}
]
],
+ "resource-timing/nested-context-navigations.html": [
+ [
+ "resource-timing/nested-context-navigations.html",
+ {
+ "timeout": "long"
+ }
+ ]
+ ],
"resource-timing/no-entries-for-cross-origin-css-fetched.sub.html": [
[
"resource-timing/no-entries-for-cross-origin-css-fetched.sub.html",
@@ -426476,6 +426641,14 @@
{}
]
],
+ "screen-orientation/lock-unlock-check.html": [
+ [
+ "screen-orientation/lock-unlock-check.html",
+ {
+ "testdriver": true
+ }
+ ]
+ ],
"screen-orientation/onchange-event-subframe.html": [
[
"screen-orientation/onchange-event-subframe.html",
@@ -429366,6 +429539,18 @@
{}
]
],
+ "signed-exchange/service-workers/sxg-sw-register-after-fallback.tentative.https.html": [
+ [
+ "signed-exchange/service-workers/sxg-sw-register-after-fallback.tentative.https.html",
+ {}
+ ]
+ ],
+ "signed-exchange/service-workers/sxg-sw-register.tentative.https.html": [
+ [
+ "signed-exchange/service-workers/sxg-sw-register.tentative.https.html",
+ {}
+ ]
+ ],
"signed-exchange/sxg-double-prefetch.tentative.html": [
[
"signed-exchange/sxg-double-prefetch.tentative.html",
@@ -448849,6 +449034,12 @@
{}
]
],
+ "webxr/xrRigidTransform_matrix.https.html": [
+ [
+ "webxr/xrRigidTransform_matrix.https.html",
+ {}
+ ]
+ ],
"webxr/xrSession_cancelAnimationFrame.https.html": [
[
"webxr/xrSession_cancelAnimationFrame.https.html",
@@ -473535,7 +473726,7 @@
"support"
],
".travis.yml": [
- "ea1976d4f1161a1fed45c181359c0a7ab69b3ba9",
+ "20093dfd1d2543eb1ba1ff31b78107f27f7a5ac0",
"support"
],
".well-known/README.md": [
@@ -473583,7 +473774,7 @@
"support"
],
"2dcontext/META.yml": [
- "53b11d271cc6181435059f99880a28e0e3f6d5a0",
+ "0f79f2591292a3b2d82e6d42f22f82368381dc08",
"support"
],
"2dcontext/building-paths/canvas_complexshapes_arcto_001-ref.htm": [
@@ -480031,7 +480222,7 @@
"support"
],
"WebIDL/META.yml": [
- "82ae5236f0d9e000f73fe2be9299c74b81938106",
+ "a8dc9c4410e949fa78bdbe2268edf3f125934487",
"support"
],
"WebIDL/current-realm.html": [
@@ -480603,7 +480794,7 @@
"manual"
],
"accelerometer/META.yml": [
- "6554be89580e7328117fc35880f70cf623ce0ee9",
+ "7df27e1f40b09a70c9dcee46e9b1e40bbf355595",
"support"
],
"accelerometer/idlharness.https.window.js": [
@@ -481439,7 +481630,7 @@
"manual"
],
"ambient-light/META.yml": [
- "04fce804971f9050c79960c4f5a344ae1b9fe2bc",
+ "c3f69ba181e69906ebeb1fe42f1e4255f17c47c5",
"support"
],
"ambient-light/idlharness.https.window.js": [
@@ -483727,7 +483918,7 @@
"testharness"
],
"battery-status/META.yml": [
- "eded36c5e2f2487376caae21cda9cc36a5090168",
+ "12a2f12c32e9c58912a209e369af59d6ceee3aa4",
"support"
],
"battery-status/battery-charging-manual.https.html": [
@@ -483895,7 +484086,7 @@
"support"
],
"bluetooth/META.yml": [
- "501396bac744058ef594b19a935732ba0f277219",
+ "607edb6365b4cde7dc2c292d31c9c4175c466ea8",
"support"
],
"bluetooth/README.md": [
@@ -484915,7 +485106,7 @@
"support"
],
"common/META.yml": [
- "594c8b170f5043a944fdd4de17d4bd65eba242fb",
+ "958883a1b07e7db13249153fc85c69d2a40363a3",
"support"
],
"common/PrefixedLocalStorage.js": [
@@ -505807,7 +505998,7 @@
"testharness"
],
"cookies/META.yml": [
- "946da8833ac886c2f00488880e3b7a10926efe63",
+ "d0743949b6a122d8bd0adf7b1ed0181f0c51429d",
"support"
],
"cookies/README.md": [
@@ -508967,7 +509158,7 @@
"support"
],
"css/CSS2/META.yml": [
- "4ac0804d36d9c7222097a410c32af89c92475ddb",
+ "e9bc44dc8fdda34cc1dd23a1600c77adeacfacfb",
"support"
],
"css/CSS2/Makefile": [
@@ -563711,7 +563902,7 @@
"support"
],
"css/WOFF2/META.yml": [
- "a4ff5b19e747cfd4e9f4af0242bc7fc351261192",
+ "3dd216ed9f2a8276b3fb8caac11b5a0231aaeaa6",
"support"
],
"css/WOFF2/available-001.xht": [
@@ -568655,7 +568846,7 @@
"support"
],
"css/css-backgrounds/META.yml": [
- "d90a6e083b663ed9a6ef67ba4a92ebd723747550",
+ "d673be5f4f29bf82619aba6f40ed7e287e902582",
"support"
],
"css/css-backgrounds/background-331.html": [
@@ -572527,7 +572718,7 @@
"support"
],
"css/css-color/META.yml": [
- "a8d93c12a945781a88b89874aff7a3b2d72393dd",
+ "a0e70aa6539e88373bc8615c3f4e1453010e85d5",
"support"
],
"css/css-color/blacktext-ref.html": [
@@ -575486,10 +575677,6 @@
"efa48350a62dd0210009069475ac9243bba51104",
"testharness"
],
- "css/css-display/run-in/META.yml": [
- "ad40907fb0382fb83be02ad10e05031e284f3b9f",
- "support"
- ],
"css/css-display/run-in/after-content-display-004.xht": [
"fbcd4e8c265dafda4fccd41b67ff9dcbdbbd2771",
"visual"
@@ -576523,7 +576710,7 @@
"testharness"
],
"css/css-exclusions/META.yml": [
- "a954d85bb54fe1506a50dbdd9d55e18a25aef131",
+ "32410e6918e52b5a2a60032751d0dc1b38383ce2",
"support"
],
"css/css-exclusions/css3-exclusions/exclusions-wrap-flow-01-ref.xht": [
@@ -576611,7 +576798,7 @@
"reftest"
],
"css/css-flexbox/META.yml": [
- "764d8cbd16850b81fb885927da8556157b890a55",
+ "0bcad0b51f759e6ea9a05e2fee919677bc790dd3",
"support"
],
"css/css-flexbox/abspos-autopos-htb-ltr.html": [
@@ -587531,7 +587718,7 @@
"manual"
],
"css/css-grid/META.yml": [
- "af20bb4be80fabd4211684420c232293ac0815ad",
+ "e49946f4f7012e2aefbc2fb01573a2e01a903e55",
"support"
],
"css/css-grid/README.md": [
@@ -591347,7 +591534,7 @@
"support"
],
"css/css-logical/META.yml": [
- "98d838c04e110e484cae63998cf4ee6c2dd559ed",
+ "cf789d631b1f61c6fee66d29fc5984d155180702",
"support"
],
"css/css-logical/animation-001.html": [
@@ -595079,7 +595266,7 @@
"testharness"
],
"css/css-position/META.yml": [
- "00eb3b13129df2b90c59ba3f2b22fd9a4f1727e4",
+ "c1ce1ff602eee4668b9cb5d0168c4372193a8d3a",
"support"
],
"css/css-position/hypothetical-box-scroll-parent-ref.html": [
@@ -595719,7 +595906,7 @@
"testharness"
],
"css/css-properties-values-api/registered-property-computation.html": [
- "b1e5d23738b9dda1ea280dfd321bc5b2838b519a",
+ "f03b257246e520bd93055203a5cb27188babc8ca",
"testharness"
],
"css/css-properties-values-api/registered-property-cssom.html": [
@@ -595727,7 +595914,7 @@
"testharness"
],
"css/css-properties-values-api/registered-property-initial.html": [
- "82a012e2f68532761b18428c3eaed9479ec8c7e5",
+ "17c883a689a15ef5abd4babfc3afb70c3c6745a9",
"testharness"
],
"css/css-properties-values-api/resources/utils.js": [
@@ -595915,7 +596102,7 @@
"reftest"
],
"css/css-regions/META.yml": [
- "d8e38081fcfe55d051ea33c4ed8ff90d14992260",
+ "37bdc98c84c0f4c9a32d3cc5b2f4e3494eb63999",
"support"
],
"css/css-regions/animations/animations-001.html": [
@@ -598655,7 +598842,7 @@
"testharness"
],
"css/css-scrollbars/META.yml": [
- "9209d5d1f4174d1e22258c0571db89b51f4f3a59",
+ "f7c0439e202113c9611405ae967b33c2b12cfcee",
"support"
],
"css/css-scrollbars/auto-scrollbar-inline-children.html": [
@@ -598799,7 +598986,7 @@
"support"
],
"css/css-shapes/META.yml": [
- "99136818e66dc50978bc0f7c25a2129556e72f21",
+ "2e433aa66f914de66e36f0f4f99237254a7def29",
"support"
],
"css/css-shapes/basic-shape-circle-ellipse-serialization.html": [
@@ -600235,7 +600422,7 @@
"manual"
],
"css/css-style-attr/META.yml": [
- "72438735ccd461ff343a0891348dc5810e41416a",
+ "067e03cfbc7376daf0e1b5eba0dc1c35e21fe69f",
"support"
],
"css/css-style-attr/reference/ref-green-on-green.xht": [
@@ -600479,7 +600666,7 @@
"support"
],
"css/css-syntax/META.yml": [
- "17489e1bc2132f4c2acbc4ec901eccb8f7e4d365",
+ "359219c09965b90066e4fb31d952d621d0d0dc5b",
"support"
],
"css/css-syntax/anb-parsing.html": [
@@ -601627,7 +601814,7 @@
"reftest"
],
"css/css-text/META.yml": [
- "042b858557d9e6fc66a12e96724b69a02c314d47",
+ "e7914c0fc7ff9e6999f8847dc1800968472483f2",
"support"
],
"css/css-text/boundary-shaping/boundary-shaping-001.html": [
@@ -604158,6 +604345,10 @@
"6dc1b4dff52459d7f5516da64f4e09be313257d1",
"reftest"
],
+ "css/css-text/overflow-wrap/overflow-wrap-break-word-007.html": [
+ "0491b921e1aed4b030ca5cf0214afad7bdf3aba1",
+ "reftest"
+ ],
"css/css-text/overflow-wrap/overflow-wrap-break-word-fit-content-001.html": [
"2c83c46aa50f6d51efbb4d05635d86f7c166042d",
"reftest"
@@ -606374,6 +606565,10 @@
"de69880ed43c499974e60eafd3d135b6fb5b6632",
"reftest"
],
+ "css/css-text/white-space/pre-wrap-008.html": [
+ "1ddbb7fe356e2cd9af2a35aa848541db2ab8fe23",
+ "reftest"
+ ],
"css/css-text/white-space/pre-wrap-011.html": [
"5f86cff5b3889ea1a810b30c14d680c4fa7dbcae",
"reftest"
@@ -606907,21 +607102,25 @@
"reftest"
],
"css/css-text/word-break/word-break-break-all-011.html": [
- "fade439dd9a9d4505e3ab7b9060a2f962eb6fd95",
+ "74ca60503f6eb76678ec6d94c8e7f9a2349cfcd4",
"reftest"
],
"css/css-text/word-break/word-break-break-all-012.html": [
- "cd3d44056ec9715c0a9599bf5b7cad180620af74",
+ "6cbcbad92c4483021d645a3ba529a4441c26ba7d",
"reftest"
],
"css/css-text/word-break/word-break-break-all-013.html": [
- "85dce08b6418088292c50e30dab9f497b31fb6ac",
+ "5029e4d891b221eca7da7e4991ec0d1809ea4d03",
"reftest"
],
"css/css-text/word-break/word-break-break-all-014.html": [
"674b0545e05a5d25f056ac9850abd11791de6a58",
"reftest"
],
+ "css/css-text/word-break/word-break-break-all-015.html": [
+ "9602a1f2cf0bab45bc7f70dbe3fa0aeb75d6df79",
+ "reftest"
+ ],
"css/css-text/word-break/word-break-break-all-020.html": [
"ac1840131c3f214b993ffd58dcd2124523f89b6b",
"reftest"
@@ -607087,7 +607286,7 @@
"reftest_node"
],
"css/css-transforms/META.yml": [
- "33c1fce3379cc08c33a5641ea0b88864735dcd0c",
+ "b948e3a31ed377091417bbf32d02791965b15a92",
"support"
],
"css/css-transforms/animation/list-interpolation.html": [
@@ -614607,7 +614806,7 @@
"testharness"
],
"css/css-ui/META.yml": [
- "e78564bcc0d50add555e6767a596662e3c303c6e",
+ "7ce4b54a22c78576dc2318ebd651dfd1cce374ad",
"support"
],
"css/css-ui/appearance-cssom-001.html": [
@@ -618019,7 +618218,7 @@
"reftest"
],
"css/css-writing-modes/META.yml": [
- "c74fff07de51aa354967058536c882ce515be8df",
+ "c11da73b6b438ca69cc6425f5118a4f9aa36a34f",
"support"
],
"css/css-writing-modes/abs-pos-non-replaced-icb-vlr-003.xht": [
@@ -627283,7 +627482,7 @@
"support"
],
"css/selectors/META.yml": [
- "3f86842591ed35be1b36757e58e900899e8e0627",
+ "8e506d671d4b1e741d3450bd66603edbb3de9f30",
"support"
],
"css/selectors/anplusb-selector-parsing.html": [
@@ -639039,7 +639238,7 @@
"testharness"
],
"device-memory/META.yml": [
- "b393c6b8337c09b3a7f140520319e61d3acbf56d",
+ "b8dd4761adff3e18b6552d4a8f02abdcd30a3ea6",
"support"
],
"device-memory/device-memory.https.any.js": [
@@ -639063,7 +639262,7 @@
"support"
],
"docs/META.yml": [
- "190b4576a106f15d35bd1543ab4f2178f29ca931",
+ "cceb9449a4205a8da37f206ec6f6a4026f4612a1",
"support"
],
"docs/_admin/index.md": [
@@ -642987,7 +643186,7 @@
"testharness"
],
"encrypted-media/META.yml": [
- "3168f7d96f847daf23d9f859e548cb07b0f1c74c",
+ "b09e3b3c4e860bb92f1bc434c2f13462085f0af2",
"support"
],
"encrypted-media/README.md": [
@@ -643839,7 +644038,7 @@
"support"
],
"event-timing/META.yml": [
- "feede41dcef66e8842a081b6053b4e57515f9c1c",
+ "aa27fb61c310d91b629ff0d7b19cd01ce469e645",
"support"
],
"event-timing/event-timing-bufferbeforeonload.html": [
@@ -644211,7 +644410,7 @@
"testharness"
],
"feature-policy/META.yml": [
- "44ab62ca7243653c47ae8d887f7b4c9697718c0f",
+ "a4136f77e3fbd8524939de235eaff9c0211bfdba",
"support"
],
"feature-policy/README.md": [
@@ -647379,7 +647578,7 @@
"support"
],
"gamepad/META.yml": [
- "5f99b9db8eb163c24bf9a330039a8a7a1659ba6d",
+ "b008a9e614c1454e9b127b4d59a0d54cea2385bc",
"support"
],
"gamepad/events-manual.html": [
@@ -647403,7 +647602,7 @@
"manual"
],
"generic-sensor/META.yml": [
- "1cfe809776ba04c66560bc9ef6cce0aa476b7082",
+ "bf48f80f8083f0ca13f432d16a7b3b22b3435526",
"support"
],
"generic-sensor/README.md": [
@@ -647639,7 +647838,7 @@
"manual"
],
"gyroscope/META.yml": [
- "67f22d5374b0385db98fc885918d3b2f23a2f66b",
+ "6a48535e3c7416eb1d54b1a6e6837230ba498b39",
"support"
],
"gyroscope/idlharness.https.window.js": [
@@ -647835,7 +648034,7 @@
"manual"
],
"html-media-capture/META.yml": [
- "706dbdf8b6a4bebc09ba4e988936194b8e9a62a2",
+ "3dd015f3ecb7d95f6677031448823cf5028f546f",
"support"
],
"html-media-capture/capture_audio-manual.html": [
@@ -649978,6 +650177,10 @@
"88a3beba6f10b80b0b90acdc0b0f957e1a17cefc",
"testharness"
],
+ "html/browsers/the-window-object/document-attribute.window.js": [
+ "f13acdb8a3261410c0f3100fea49f1ba110ea9ab",
+ "testharness"
+ ],
"html/browsers/the-window-object/focus.window.js": [
"6ec7feee281e756ae6452e0f9b17d9b93032d010",
"testharness"
@@ -650094,6 +650297,10 @@
"1fb0ed7c1e62da55b890c6434bee6e46637e0209",
"testharness"
],
+ "html/browsers/the-window-object/self-et-al.window.js": [
+ "1b0fa1211a701253b61d1eced344faa8763ad6ef",
+ "testharness"
+ ],
"html/browsers/the-window-object/support/closed.html": [
"3b70598e34d0e9b46a8ba2150a1589fecfb90ea8",
"support"
@@ -665487,11 +665694,11 @@
"manual"
],
"html/user-activation/activation-transfer-cross-origin-with-click.sub.tentative.html": [
- "dca44dde1da873d48c8fc81257ab32166a75ef08",
+ "e7d98c3b194a03da025ab5b08b5d2c47007222c4",
"testharness"
],
"html/user-activation/activation-transfer-with-click.tentative.html": [
- "ebb4f5f5122176a30d3eca1d5ab82dd8e00722de",
+ "6b7a2b72967124c5a4cbb7d5df1a7546784b2254",
"testharness"
],
"html/user-activation/activation-transfer-without-click.tentative.html": [
@@ -666859,7 +667066,7 @@
"support"
],
"imagebitmap-renderingcontext/META.yml": [
- "f6a06f4e7d7625855e271ec5422629ca5e734560",
+ "4239a85f5eeb8de0660d138c5a3d48a17545a9eb",
"support"
],
"imagebitmap-renderingcontext/bitmaprenderer-as-imagesource.html": [
@@ -668719,7 +668926,7 @@
"support"
],
"lint.whitelist": [
- "31a001c9f6490ca25c0363eae273c7f139a597bd",
+ "12b32126b6677b19836943aee6c604296f9a597d",
"support"
],
"loading/preloader-css-import-no-quote.tentative.html": [
@@ -668819,7 +669026,7 @@
"testharness"
],
"magnetometer/META.yml": [
- "88b900c569340a167ac2a8aa967099bfdfff388b",
+ "d7d395ee8f2a942327858b189dd8a6b2a249c14e",
"support"
],
"magnetometer/Magnetometer-disabled-by-feature-policy.https.html": [
@@ -668915,11 +669122,11 @@
"reftest"
],
"mathml/presentation-markup/fractions/frac-linethickness-001-ref.html": [
- "c703edb764fe883e05e47e26464149aa64af1070",
+ "d4be8ea03bfc29506af0e26a3d94d5eeafaaf472",
"support"
],
"mathml/presentation-markup/fractions/frac-linethickness-001.html": [
- "83e15c83dc0bcb911eb52a6b74b86a13c2f1e31e",
+ "eca82878caec21ea50ed0d3562ac3449e54c7567",
"reftest"
],
"mathml/presentation-markup/fractions/frac-linethickness-002-ref.html": [
@@ -670027,7 +670234,7 @@
"support"
],
"mediacapture-depth/META.yml": [
- "e083c9b8c3ab0b20b24976d8ab94f5d04fb243dd",
+ "434612091df41dcf66859c46c66ed8cdaa6ba316",
"support"
],
"mediacapture-depth/dictionary-helper.js": [
@@ -670239,7 +670446,7 @@
"testharness"
],
"mediacapture-streams/META.yml": [
- "1ed650e97c451ef1266fd8435e2260d6bf617b67",
+ "960dc3a5ac47e9c14e8651504cb8057242f7a3be",
"support"
],
"mediacapture-streams/MediaDevices-SecureContext.html": [
@@ -673459,7 +673666,7 @@
"support"
],
"notifications/META.yml": [
- "2cb7972705c7b9ef00375dfa4258e92edb15fb21",
+ "0daa86e6f487e90830b400bf7f2b871700d024b8",
"support"
],
"notifications/body-basic-manual.html": [
@@ -673555,7 +673762,7 @@
"manual"
],
"offscreen-canvas/META.yml": [
- "bcb30ed276642fbbe2d055c6a1d131e097daac69",
+ "d3e4c387e8b5b9d27ea3dea6febdc1d9a662e4f0",
"support"
],
"offscreen-canvas/compositing/2d.composite.canvas.copy.html": [
@@ -680067,7 +680274,7 @@
"testharness"
],
"orientation-sensor/META.yml": [
- "99d6166664ca11196582e9bd058d225df833a4e2",
+ "427385826fca7a770a816abc5d98cc324f647f68",
"support"
],
"orientation-sensor/OrientationSensor_insecure_context.html": [
@@ -680239,7 +680446,7 @@
"testharness"
],
"paint-timing/META.yml": [
- "24acb2587d1a375bfee12c56c56dd457ee6152cd",
+ "1892a41ed1cffcc8ba704f28bd59f5aa64c2b46a",
"support"
],
"paint-timing/basetest.html": [
@@ -680423,7 +680630,7 @@
"testharness"
],
"payment-method-id/META.yml": [
- "e0931f4f8f584199e85f31501cc6a717e57fe4ab",
+ "5e9fe05abae6f862301ef85f9905d91eb4e42121",
"support"
],
"payment-method-id/README.md": [
@@ -680451,7 +680658,7 @@
"testharness"
],
"payment-request/PaymentAddress/attributes-and-toJSON-method-manual.https.html": [
- "45f3f0a5672cf64501718aa43dc5aac87249bab9",
+ "226fd88ff84ab58baa39da7f0691b18c50b3ff72",
"manual"
],
"payment-request/PaymentMethodChangeEvent/methodDetails-attribute.https.html": [
@@ -680687,7 +680894,7 @@
"manual"
],
"payment-request/payment-response/onpayerdetailchange-attribute-manual.https.html": [
- "c8dd92636c6392b2436c8235340355c4529e12c1",
+ "f3f3f76357c1467f4032c5749849bd0063b41010",
"manual"
],
"payment-request/payment-response/onpayerdetailchange-attribute.https.html": [
@@ -680931,7 +681138,7 @@
"testharness"
],
"pointerevents/META.yml": [
- "be61ddddaf62acb3396ada6779ad3f50e6caa709",
+ "1962feaf8af08b003e519fa525271e70451984d5",
"support"
],
"pointerevents/README.md": [
@@ -681971,7 +682178,7 @@
"support"
],
"proximity/META.yml": [
- "9b5ffbc27e6e7a108b21398d2fe2ca1746bae112",
+ "284afed59d9bf4910f494973ec08314b1f854d01",
"support"
],
"proximity/ProximitySensor-iframe-access.https.html": [
@@ -682135,7 +682342,7 @@
"support"
],
"referrer-policy/META.yml": [
- "a622289c0562dbac99de0a9dbd3b9a70e0783923",
+ "8ead043aad0a6aa79dad5c2c9e9b757df5869265",
"support"
],
"referrer-policy/README.md": [
@@ -691175,7 +691382,7 @@
"testharness"
],
"resource-timing/META.yml": [
- "a2ce7c48f501436168ab93f791f1964e91a14fef",
+ "76176970d4d93e6a66bf2bc62aec5dd62ccd12c1",
"support"
],
"resource-timing/SyntheticResponse.py": [
@@ -691242,6 +691449,10 @@
"a7542f191c10ea7b42110b5fc80e7abf43174bb5",
"testharness"
],
+ "resource-timing/nested-context-navigations.html": [
+ "483cc5b82d5debf942dd0013a340f9d5f550834c",
+ "testharness"
+ ],
"resource-timing/no-entries-for-cross-origin-css-fetched.sub.html": [
"63f9e06e19083a6d956af0d5916455cd7e91b89c",
"testharness"
@@ -691426,6 +691637,34 @@
"fbd7bc3b6e21ee39478c8a63780bb673dafe96a4",
"support"
],
+ "resource-timing/resources/document-navigated.html": [
+ "fa87355c3ed18f5011146a373c4029d3272bb6a8",
+ "support"
+ ],
+ "resource-timing/resources/document-refreshed.html": [
+ "7e4ca09891ed35e244b15151a2a6077af74e865f",
+ "support"
+ ],
+ "resource-timing/resources/document-that-navigates.html": [
+ "cb567bf3d2ad12154155aef6ad1da7be2a1f3d78",
+ "support"
+ ],
+ "resource-timing/resources/document-that-refreshes.html": [
+ "75522782a62dbe3b98b2f1a09c5babc7063b7510",
+ "support"
+ ],
+ "resource-timing/resources/embed-navigate-back.html": [
+ "3c3def1d1a1d04279ad2bbceb220879398943681",
+ "support"
+ ],
+ "resource-timing/resources/embed-navigate.html": [
+ "20a73c662b4f7b00daa96feda64cde16fc6a6490",
+ "support"
+ ],
+ "resource-timing/resources/embed-refresh.html": [
+ "4a49fd0b4c1b54c0f03200f7ed2cb2ae27239788",
+ "support"
+ ],
"resource-timing/resources/empty.js": [
"3b44754e301ded90e559f6343df641e476803542",
"support"
@@ -691470,6 +691709,18 @@
"39f5d13054a79281ed0131315f834645e6e7790c",
"support"
],
+ "resource-timing/resources/iframe-navigate-back.html": [
+ "c5c1fc1ad4dfaaedc441ae8854079402e56d1106",
+ "support"
+ ],
+ "resource-timing/resources/iframe-navigate.html": [
+ "2a1a7e063619fe62c7acf87b99acda26d2cbcf32",
+ "support"
+ ],
+ "resource-timing/resources/iframe-refresh.html": [
+ "4ce3ea0424297ac7a8664fc7f7a6dcbff64d6f14",
+ "support"
+ ],
"resource-timing/resources/iframe-reload-TAO.sub.html": [
"577aff7758c779893f010658d216f34802a4edfe",
"support"
@@ -691526,6 +691777,14 @@
"d1802a1e02d9aacad091e814cc2955d244d2f977",
"support"
],
+ "resource-timing/resources/navigate_back.html": [
+ "345eee1fccca5cf2ea94865a41a41f6e897ede15",
+ "support"
+ ],
+ "resource-timing/resources/nested-contexts.js": [
+ "0c202243702aec81426a2dfbca05ce1118c5978b",
+ "support"
+ ],
"resource-timing/resources/nested.css": [
"90d61b04acc4443430c42331d8c7f21993b0ae4d",
"support"
@@ -691534,6 +691793,18 @@
"c104f3c8f0695a96646cf24a730eef0342f95876",
"support"
],
+ "resource-timing/resources/object-navigate-back.html": [
+ "64e5f584731fdf5fe89e8e60e19fea6bd0f24125",
+ "support"
+ ],
+ "resource-timing/resources/object-navigate.html": [
+ "cbb862e7e00fcb7391107fdfe7e7870388f62a4a",
+ "support"
+ ],
+ "resource-timing/resources/object-refresh.html": [
+ "b14cf7f17c9d807eaa904f92d170e9ee96435464",
+ "support"
+ ],
"resource-timing/resources/resource_timing_test0.css": [
"8bc8326ba675adcc8aa809dd0b885dba3285782d",
"support"
@@ -691623,7 +691894,7 @@
"support"
],
"resources/chromium/device.mojom.js": [
- "436d3038b85e4d6f92fa25cd93a41af667e85d26",
+ "6488cbc69c29170d9441d2210da27a464f67d445",
"support"
],
"resources/chromium/device.mojom.js.headers": [
@@ -691751,7 +692022,7 @@
"support"
],
"resources/chromium/webusb-test.js": [
- "18ee824aafaf45087f4b0aa2d6e90811cb39a751",
+ "c4d4e8f1ac47a2f8c5ea02fa737a01b36aca6329",
"support"
],
"resources/chromium/webusb-test.js.headers": [
@@ -692979,7 +693250,7 @@
"testharness"
],
"screen-orientation/META.yml": [
- "dc3f290196fabe6e4594a498282fc0091134bdad",
+ "3ddb3b0507d54269c54a552227771a0bf9131a0e",
"support"
],
"screen-orientation/event-before-promise.html": [
@@ -693002,6 +693273,10 @@
"1041f91886a87083ed78227e15badb071395dfb4",
"testharness"
],
+ "screen-orientation/lock-unlock-check.html": [
+ "129882d64f6d323d93a183d59f4744a8e888d3f1",
+ "testharness"
+ ],
"screen-orientation/onchange-event-subframe.html": [
"869a2294594aecc6e827501a3802d3cc42bde630",
"testharness"
@@ -693022,12 +693297,16 @@
"4cfd37d02bc58f2bed39075357b393fea769a155",
"support"
],
+ "screen-orientation/resources/orientation-utils.js": [
+ "8721818bec2fadcaa3010f3c48d9e38db854f669",
+ "support"
+ ],
"screen-orientation/resources/sandboxed-iframe-locking.html": [
"e1b50f670105f3a05dacd3518d62770685121c67",
"support"
],
"scroll-animations/META.yml": [
- "20f3c7e6c930193207c6cbcd329e36f85a993dc9",
+ "c53f1f432fe1ec2887e30af396a1f1574b76b95d",
"support"
],
"scroll-animations/constructor-no-document.html": [
@@ -693147,7 +693426,7 @@
"support"
],
"selection/Document-open.html": [
- "9d170914e6516b2829f1872e001dd4cd08e30b4c",
+ "9e3cb28124c0d65f61d1e71672c2429a3b64a792",
"testharness"
],
"selection/META.yml": [
@@ -697403,7 +697682,7 @@
"support"
],
"signed-exchange/resources/generate-test-sxgs.sh": [
- "60746ff34caaec9e83942aeae6a6cc74aa8138e0",
+ "e76286be991ca3d3832f767a5ab7aab172157184",
"support"
],
"signed-exchange/resources/inner-url.html": [
@@ -697418,6 +697697,18 @@
"d581d5987ea0f9d7c8164d680a4527f2ea519cd4",
"support"
],
+ "signed-exchange/resources/register-sw-after-fallback.html": [
+ "2711fc241f3215ff7e6649daefde40e7b2e147da",
+ "support"
+ ],
+ "signed-exchange/resources/register-sw.html": [
+ "8a3873bfde88dd9bd0cc979f3db6a7d88b776d22",
+ "support"
+ ],
+ "signed-exchange/resources/service-worker.js": [
+ "2647f45a3ea3e7e406305f41a3b4677b26ecd8e7",
+ "support"
+ ],
"signed-exchange/resources/sxg-location.html": [
"b3ebd2bde7acd2d1885838a37ab9cfc91c250551",
"support"
@@ -697427,7 +697718,7 @@
"support"
],
"signed-exchange/resources/sxg-util.js": [
- "7abb3cf2079087092ac4a7f7332ecf72f9cabd75",
+ "78edf137408f93150209f76b6e492d13805ca95a",
"support"
],
"signed-exchange/resources/sxg-version1b2.sxg": [
@@ -697462,6 +697753,14 @@
"6d8538882d27c40b0ffcf0845c090844aaec87b7",
"support"
],
+ "signed-exchange/resources/sxg/register-sw-after-fallback.sxg": [
+ "20ae275818765133e5018e0db2263cf21269d756",
+ "support"
+ ],
+ "signed-exchange/resources/sxg/register-sw-from-sxg.sxg": [
+ "792222029f1730c20c6673a9b89771c70226faea",
+ "support"
+ ],
"signed-exchange/resources/sxg/sxg-cert-not-found-on-alt-origin.sxg": [
"2a7dbf6fa69ae29055e51f6c7d32d3ab4ceb6765",
"support"
@@ -697558,6 +697857,14 @@
"ae96b7213fa7f3d056964a2eeab1528ff840486a",
"support"
],
+ "signed-exchange/service-workers/sxg-sw-register-after-fallback.tentative.https.html": [
+ "2b76a70dc9feb2fe446fa309202494b172dcb04e",
+ "testharness"
+ ],
+ "signed-exchange/service-workers/sxg-sw-register.tentative.https.html": [
+ "ad21ebb20d44c846bd99cbffeb510c8af2bb81ea",
+ "testharness"
+ ],
"signed-exchange/sxg-double-prefetch.tentative.html": [
"d682741744fed929bee8e62fbae4857a4bfbf1d5",
"testharness"
@@ -697651,7 +697958,7 @@
"testharness"
],
"speech-api/META.yml": [
- "4d1b42a44d2a6a447f8a47bc079d7e28436843e0",
+ "9ce8830e78fc4be5b25e5382248810932abfd829",
"support"
],
"speech-api/SpeechRecognition-abort-manual.https.html": [
@@ -697803,7 +698110,7 @@
"testharness"
],
"streams/META.yml": [
- "108c774fae6f0f56b562bfcd0823fab4709f36c5",
+ "1259a55cb5a99e3ba3a13d81d02dd78d697ddabf",
"support"
],
"streams/README.md": [
@@ -698075,7 +698382,7 @@
"testharness"
],
"subresource-integrity/META.yml": [
- "2b8891ec6b498cc6b24df46e21fffad437732b54",
+ "f6980682f11bc29b19789c91a93d9e0f58383306",
"support"
],
"subresource-integrity/alternate.css": [
@@ -698271,7 +698578,7 @@
"support"
],
"svg/META.yml": [
- "09ef583b72d7a204612e8f124404895137d80205",
+ "2904d6f606bfd2092952dcb7883d66afc9e9be8b",
"support"
],
"svg/README.md": [
@@ -707039,7 +707346,7 @@
"support"
],
"tools/wpt/run.py": [
- "df34e591568617616211e0f549872fe94c7568d8",
+ "a19851d14c5cd2a64355a4e0389ace0b7cbd022f",
"support"
],
"tools/wpt/testfiles.py": [
@@ -707075,7 +707382,7 @@
"support"
],
"tools/wpt/virtualenv.py": [
- "61de936b7679e0f143d43278ad2494b34140b004",
+ "357ddcbefce1f9ed81324bab0bf2467f572b0753",
"support"
],
"tools/wpt/wpt.py": [
@@ -707131,7 +707438,7 @@
"support"
],
"tools/wptrunner/requirements.txt": [
- "6216fb6708da3c60d6e2b0a60d92a232dc383b0f",
+ "f17b12b3dddffd988bf05b1255761b713e28ca49",
"support"
],
"tools/wptrunner/requirements_chrome.txt": [
@@ -707151,7 +707458,7 @@
"support"
],
"tools/wptrunner/requirements_firefox.txt": [
- "ee84d840f814088fdb4607ff355096772894a987",
+ "668cea391543074722e19ad802ea189df84890c0",
"support"
],
"tools/wptrunner/requirements_ie.txt": [
@@ -708939,7 +709246,7 @@
"testharness"
],
"url/META.yml": [
- "3a789a0d513f0a78bf362dd73c8a807d0cd55a50",
+ "094b266b64b61b97966f2fa88d78dfdf5a00b573",
"support"
],
"url/README.md": [
@@ -709187,7 +709494,7 @@
"testharness"
],
"vibration/META.yml": [
- "016588931f9d1221bd9730605bd3d7abaeb069d7",
+ "91cd8c9d8056e8512e049280b7c1a43a76b3074f",
"support"
],
"vibration/api-is-present.html": [
@@ -710303,7 +710610,7 @@
"manual"
],
"wake-lock/META.yml": [
- "a5ff85281f875366aa3f22262e1a58beb60fe8f3",
+ "7ca3da2d8d2e4c90c55074246589d5464aa7ae3e",
"support"
],
"wake-lock/idlharness.https.window.js": [
@@ -712179,7 +712486,7 @@
"testharness"
],
"webaudio/the-audio-api/the-mediaelementaudiosourcenode-interface/mediaElementAudioSourceToScriptProcessorTest.html": [
- "2c1162d47b973937c826caba0c740f58970defcc",
+ "3e364eb7b359948402ef8ecdb287a5f55bb80fc3",
"testharness"
],
"webaudio/the-audio-api/the-mediaelementaudiosourcenode-interface/no-cors.https.html": [
@@ -713419,7 +713726,7 @@
"testharness"
],
"webmessaging/META.yml": [
- "e70b780b57a659a928ce7575f19224dcce8087f9",
+ "95d5071171b5a20cc14a414c97c9eae2f525f43f",
"support"
],
"webmessaging/MessageEvent-trusted-worker.js": [
@@ -713955,7 +714262,7 @@
"testharness"
],
"webrtc/META.yml": [
- "2025a11f3810042bcef24acae751ce5ffd3a3ee8",
+ "eed4ac834313773528e5665d80505cb4b951a1c9",
"support"
],
"webrtc/RTCCertificate-postMessage.html": [
@@ -714103,7 +714410,7 @@
"testharness"
],
"webrtc/RTCPeerConnection-getStats.https.html": [
- "247402b83be0a2655fa8d4ad43fa166b6459c587",
+ "c2c4e8e37176ce13447c1c8238aa6243f9aea130",
"testharness"
],
"webrtc/RTCPeerConnection-getTransceivers.html": [
@@ -714127,7 +714434,7 @@
"testharness"
],
"webrtc/RTCPeerConnection-onnegotiationneeded.html": [
- "ac9d70c43eff1ddd0995dcea741f3b6ea850464b",
+ "f7bf8bd3e3bdc24c63a92da22eaae77b95f0d4fd",
"testharness"
],
"webrtc/RTCPeerConnection-onsignalingstatechanged.https.html": [
@@ -715403,7 +715710,7 @@
"support"
],
"webstorage/META.yml": [
- "0da67a586b84030b835ddbdaa0af20ddadb8f4b3",
+ "020075c3f2401ca4b8da73116a84582d46e265c0",
"support"
],
"webstorage/README.md": [
@@ -718779,7 +719086,7 @@
"support"
],
"webxr/META.yml": [
- "b5e3e65a12cb4124e43c4f24b7fca84910fda119",
+ "520afec2000721d04aae9ed89bca49297fa31d4b",
"support"
],
"webxr/idlharness.https.window.js": [
@@ -718794,6 +719101,10 @@
"2d8e5b387dc88588921ccfa49dd14db58009900c",
"support"
],
+ "webxr/resources/webxr_math_utils.js": [
+ "bb55fb72978690427aac38b84d1eac24e838d0eb",
+ "support"
+ ],
"webxr/resources/webxr_test_asserts.js": [
"2253ffc2d39d268142711fca7f81dda3fc6a318c",
"support"
@@ -718863,13 +719174,17 @@
"testharness"
],
"webxr/xrRay_matrix.https.html": [
- "3c9cea0849f77063d3c86eff7f2d85e4830c851c",
+ "85d7bffb87b731f6a863ec752ede5ceac3bfca16",
"testharness"
],
"webxr/xrRigidTransform_constructor.https.html": [
"abaf8bf9ebe2fed3c99cef5bf52d697b9e8ed1c8",
"testharness"
],
+ "webxr/xrRigidTransform_matrix.https.html": [
+ "21236c732461de4422dcab7a3709cdc7ffc0f3a6",
+ "testharness"
+ ],
"webxr/xrSession_cancelAnimationFrame.https.html": [
"cc7b8802cba01ac03adb53a06308acd5642dd0af",
"testharness"
@@ -720715,7 +721030,7 @@
"testharness"
],
"xhr/META.yml": [
- "4b2ecf39bf3a07188d587f0a7ac3d22cad55f923",
+ "c343ceac4375531d92d2ef1ec88de5c7a3897bbe",
"support"
],
"xhr/README.md": [
diff --git a/tests/wpt/metadata/css/css-text/overflow-wrap/overflow-wrap-break-word-007.html.ini b/tests/wpt/metadata/css/css-text/overflow-wrap/overflow-wrap-break-word-007.html.ini
new file mode 100644
index 00000000000..d3d12cf452f
--- /dev/null
+++ b/tests/wpt/metadata/css/css-text/overflow-wrap/overflow-wrap-break-word-007.html.ini
@@ -0,0 +1,2 @@
+[overflow-wrap-break-word-007.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-text/white-space/pre-wrap-008.html.ini b/tests/wpt/metadata/css/css-text/white-space/pre-wrap-008.html.ini
new file mode 100644
index 00000000000..7347535e71e
--- /dev/null
+++ b/tests/wpt/metadata/css/css-text/white-space/pre-wrap-008.html.ini
@@ -0,0 +1,2 @@
+[pre-wrap-008.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-text/word-break/word-break-break-all-011.html.ini b/tests/wpt/metadata/css/css-text/word-break/word-break-break-all-011.html.ini
deleted file mode 100644
index 6833da89a76..00000000000
--- a/tests/wpt/metadata/css/css-text/word-break/word-break-break-all-011.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[word-break-break-all-011.html]
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-text/word-break/word-break-break-all-015.html.ini b/tests/wpt/metadata/css/css-text/word-break/word-break-break-all-015.html.ini
new file mode 100644
index 00000000000..fcbca62a5dd
--- /dev/null
+++ b/tests/wpt/metadata/css/css-text/word-break/word-break-break-all-015.html.ini
@@ -0,0 +1,2 @@
+[word-break-break-all-015.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/cssom-view/scroll-behavior-smooth.html.ini b/tests/wpt/metadata/css/cssom-view/scroll-behavior-smooth.html.ini
index bcd187f508c..8e2ceeddfbe 100644
--- a/tests/wpt/metadata/css/cssom-view/scroll-behavior-smooth.html.ini
+++ b/tests/wpt/metadata/css/cssom-view/scroll-behavior-smooth.html.ini
@@ -6,3 +6,6 @@
[Instant scrolling while doing history navigation.]
expected: FAIL
+ [Smooth scrolling while doing history navigation.]
+ 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 4ac06530d29..18f786d4963 100644
--- a/tests/wpt/metadata/fetch/content-type/response.window.js.ini
+++ b/tests/wpt/metadata/fetch/content-type/response.window.js.ini
@@ -312,9 +312,3 @@
[<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
expected: FAIL
- [<iframe>: separate response Content-Type: text/html */*;charset=gbk]
- expected: FAIL
-
- [<iframe>: separate response Content-Type: text/html;charset=gbk text/plain text/html]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini
deleted file mode 100644
index 385376c7321..00000000000
--- a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[traverse_the_history_4.html]
- [Multiple history traversals, last would be aborted]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/html/browsers/the-window-object/self-et-al.window.js.ini b/tests/wpt/metadata/html/browsers/the-window-object/self-et-al.window.js.ini
new file mode 100644
index 00000000000..a4d65d26244
--- /dev/null
+++ b/tests/wpt/metadata/html/browsers/the-window-object/self-et-al.window.js.ini
@@ -0,0 +1,2 @@
+[self-et-al.window.html]
+ expected: CRASH
diff --git a/tests/wpt/metadata/html/browsers/windows/nested-browsing-contexts/name-attribute.window.js.ini b/tests/wpt/metadata/html/browsers/windows/nested-browsing-contexts/name-attribute.window.js.ini
index 636c298b2a1..ef2deddc5dc 100644
--- a/tests/wpt/metadata/html/browsers/windows/nested-browsing-contexts/name-attribute.window.js.ini
+++ b/tests/wpt/metadata/html/browsers/windows/nested-browsing-contexts/name-attribute.window.js.ini
@@ -1,5 +1,5 @@
[name-attribute.window.html]
- expected: TIMEOUT
+ expected: CRASH
[cross-origin <frame name=>]
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
deleted file mode 100644
index 6cf9d13975c..00000000000
--- a/tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/document-write/iframe_005.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[iframe_005.html]
- [document.write external script into iframe write back into parent]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/resource-timing/nested-context-navigations.html.ini b/tests/wpt/metadata/resource-timing/nested-context-navigations.html.ini
new file mode 100644
index 00000000000..b3ec9b54206
--- /dev/null
+++ b/tests/wpt/metadata/resource-timing/nested-context-navigations.html.ini
@@ -0,0 +1,56 @@
+[nested-context-navigations.html]
+ expected: TIMEOUT
+ [Test that crossorigin embed navigations are not observable by the parent, even after history navigations by the parent]
+ expected: NOTRUN
+
+ [Test that embed navigations are not observable by the parent, even after history navigations by the parent]
+ expected: TIMEOUT
+
+ [Test that crossorigin iframe refreshes are not observable by the parent]
+ expected: NOTRUN
+
+ [Test that crossorigin object refreshes are not observable by the parent]
+ expected: NOTRUN
+
+ [Test that crossorigin object navigations are not observable by the parent]
+ expected: NOTRUN
+
+ [Test that crossorigin embed refreshes are not observable by the parent]
+ expected: NOTRUN
+
+ [Test that iframe navigations are not observable by the parent, even after history navigations by the parent]
+ expected: NOTRUN
+
+ [Test that object refreshes are not observable by the parent]
+ expected: NOTRUN
+
+ [Test that crossorigin iframe navigations are not observable by the parent, even after history navigations by the parent]
+ expected: NOTRUN
+
+ [Test that object navigations are not observable by the parent, even after history navigations by the parent]
+ expected: NOTRUN
+
+ [Test that iframe navigations are not observable by the parent]
+ expected: NOTRUN
+
+ [Test that embed navigations are not observable by the parent]
+ expected: NOTRUN
+
+ [Test that iframe refreshes are not observable by the parent]
+ expected: NOTRUN
+
+ [Test that crossorigin iframe navigations are not observable by the parent]
+ expected: NOTRUN
+
+ [Test that crossorigin embed navigations are not observable by the parent]
+ expected: NOTRUN
+
+ [Test that object navigations are not observable by the parent]
+ expected: NOTRUN
+
+ [Test that crossorigin object navigations are not observable by the parent, even after history navigations by the parent]
+ expected: NOTRUN
+
+ [Test that embed refreshes are not observable by the parent]
+ expected: NOTRUN
+
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 268949ced5c..f584fce5df1 100644
--- a/tests/wpt/metadata/workers/semantics/multiple-workers/005.html.ini
+++ b/tests/wpt/metadata/workers/semantics/multiple-workers/005.html.ini
@@ -1,4 +1,5 @@
[005.html]
+ expected: ERROR
[dedicated worker in shared worker in dedicated worker]
expected: FAIL
diff --git a/tests/wpt/web-platform-tests/.travis.yml b/tests/wpt/web-platform-tests/.travis.yml
index ea1976d4f11..20093dfd1d2 100644
--- a/tests/wpt/web-platform-tests/.travis.yml
+++ b/tests/wpt/web-platform-tests/.travis.yml
@@ -57,11 +57,25 @@ matrix:
packages:
- libnss3-tools
env: JOB=wpt_integration TOXENV=py27 SCRIPT=tools/ci/ci_wpt.sh
+ addons:
+ apt:
+ packages:
+ - fonts-liberation
+ - libappindicator1
+ - libnss3-tools
+ - pulseaudio
- name: "resources/ tests"
if: type = pull_request
os: linux
python: "2.7"
env: JOB=resources_unittest TOXENV=py27 SCRIPT=tools/ci/ci_resources_unittest.sh
+ addons:
+ apt:
+ packages:
+ - fonts-liberation
+ - libappindicator1
+ - libnss3-tools
+ - pulseaudio
- name: "infrastructure/ tests"
if: type = pull_request
os: linux
@@ -70,9 +84,10 @@ matrix:
addons:
apt:
packages:
- - libnss3-tools
- - libappindicator1
- fonts-liberation
+ - libappindicator1
+ - libnss3-tools
+ - pulseaudio
exclude:
- env: # exclude empty env from the top-level above
allow_failures:
diff --git a/tests/wpt/web-platform-tests/2dcontext/META.yml b/tests/wpt/web-platform-tests/2dcontext/META.yml
index 53b11d271cc..0f79f259129 100644
--- a/tests/wpt/web-platform-tests/2dcontext/META.yml
+++ b/tests/wpt/web-platform-tests/2dcontext/META.yml
@@ -3,5 +3,4 @@ suggested_reviewers:
- AmeliaBR
- annevk
- kenrussell
- - jdashg
- fserb
diff --git a/tests/wpt/web-platform-tests/WebIDL/META.yml b/tests/wpt/web-platform-tests/WebIDL/META.yml
index 82ae5236f0d..a8dc9c4410e 100644
--- a/tests/wpt/web-platform-tests/WebIDL/META.yml
+++ b/tests/wpt/web-platform-tests/WebIDL/META.yml
@@ -1,6 +1,5 @@
spec: https://heycam.github.io/webidl/
suggested_reviewers:
- domenic
- - jensl
- tobie
- yuki3
diff --git a/tests/wpt/web-platform-tests/accelerometer/META.yml b/tests/wpt/web-platform-tests/accelerometer/META.yml
index 6554be89580..7df27e1f40b 100644
--- a/tests/wpt/web-platform-tests/accelerometer/META.yml
+++ b/tests/wpt/web-platform-tests/accelerometer/META.yml
@@ -1,7 +1,6 @@
spec: https://w3c.github.io/accelerometer/
suggested_reviewers:
- zqzhang
- - dontcallmedom
- riju
- Honry
- rakuco
diff --git a/tests/wpt/web-platform-tests/ambient-light/META.yml b/tests/wpt/web-platform-tests/ambient-light/META.yml
index 04fce804971..c3f69ba181e 100644
--- a/tests/wpt/web-platform-tests/ambient-light/META.yml
+++ b/tests/wpt/web-platform-tests/ambient-light/META.yml
@@ -1,7 +1,6 @@
spec: https://w3c.github.io/ambient-light/
suggested_reviewers:
- zqzhang
- - dontcallmedom
- riju
- rakuco
- Honry
diff --git a/tests/wpt/web-platform-tests/battery-status/META.yml b/tests/wpt/web-platform-tests/battery-status/META.yml
index eded36c5e2f..12a2f12c32e 100644
--- a/tests/wpt/web-platform-tests/battery-status/META.yml
+++ b/tests/wpt/web-platform-tests/battery-status/META.yml
@@ -1,5 +1,4 @@
spec: https://w3c.github.io/battery/
suggested_reviewers:
- anssiko
- - dontcallmedom
- zqzhang
diff --git a/tests/wpt/web-platform-tests/bluetooth/META.yml b/tests/wpt/web-platform-tests/bluetooth/META.yml
index 501396bac74..607edb6365b 100644
--- a/tests/wpt/web-platform-tests/bluetooth/META.yml
+++ b/tests/wpt/web-platform-tests/bluetooth/META.yml
@@ -1,6 +1,5 @@
spec: https://webbluetoothcg.github.io/web-bluetooth/
suggested_reviewers:
- dougt
- - g-ortuno
- odejesush
- reillyeon
diff --git a/tests/wpt/web-platform-tests/common/META.yml b/tests/wpt/web-platform-tests/common/META.yml
index 594c8b170f5..958883a1b07 100644
--- a/tests/wpt/web-platform-tests/common/META.yml
+++ b/tests/wpt/web-platform-tests/common/META.yml
@@ -1,5 +1,4 @@
suggested_reviewers:
- zqzhang
- - dontcallmedom
- deniak
- gsnedders
diff --git a/tests/wpt/web-platform-tests/cookies/META.yml b/tests/wpt/web-platform-tests/cookies/META.yml
index 946da8833ac..d0743949b6a 100644
--- a/tests/wpt/web-platform-tests/cookies/META.yml
+++ b/tests/wpt/web-platform-tests/cookies/META.yml
@@ -1,3 +1,2 @@
suggested_reviewers:
- - inikulin
- mikewest
diff --git a/tests/wpt/web-platform-tests/css/CSS2/META.yml b/tests/wpt/web-platform-tests/css/CSS2/META.yml
index 4ac0804d36d..e9bc44dc8fd 100644
--- a/tests/wpt/web-platform-tests/css/CSS2/META.yml
+++ b/tests/wpt/web-platform-tests/css/CSS2/META.yml
@@ -5,4 +5,3 @@ suggested_reviewers:
- svgeesus
- kojiishi
- frivoal
- - bert-github
diff --git a/tests/wpt/web-platform-tests/css/WOFF2/META.yml b/tests/wpt/web-platform-tests/css/WOFF2/META.yml
index a4ff5b19e74..3dd216ed9f2 100644
--- a/tests/wpt/web-platform-tests/css/WOFF2/META.yml
+++ b/tests/wpt/web-platform-tests/css/WOFF2/META.yml
@@ -1,4 +1,3 @@
spec: https://w3c.github.io/woff/woff2/
suggested_reviewers:
- svgeesus
- - rsheeter
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/META.yml b/tests/wpt/web-platform-tests/css/css-backgrounds/META.yml
index d90a6e083b6..d673be5f4f2 100644
--- a/tests/wpt/web-platform-tests/css/css-backgrounds/META.yml
+++ b/tests/wpt/web-platform-tests/css/css-backgrounds/META.yml
@@ -1,6 +1,4 @@
spec: https://drafts.csswg.org/css-backgrounds/
suggested_reviewers:
- dbaron
- - bert-github
- fantasai
- - bradkemper
diff --git a/tests/wpt/web-platform-tests/css/css-color/META.yml b/tests/wpt/web-platform-tests/css/css-color/META.yml
index a8d93c12a94..a0e70aa6539 100644
--- a/tests/wpt/web-platform-tests/css/css-color/META.yml
+++ b/tests/wpt/web-platform-tests/css/css-color/META.yml
@@ -1,6 +1,5 @@
spec: https://drafts.csswg.org/css-color/
suggested_reviewers:
- dbaron
- - tantek
- svgeesus
- tabatkins
diff --git a/tests/wpt/web-platform-tests/css/css-display/run-in/META.yml b/tests/wpt/web-platform-tests/css/css-display/run-in/META.yml
deleted file mode 100644
index ad40907fb03..00000000000
--- a/tests/wpt/web-platform-tests/css/css-display/run-in/META.yml
+++ /dev/null
@@ -1,2 +0,0 @@
-suggested_reviewers:
- - bert-github
diff --git a/tests/wpt/web-platform-tests/css/css-exclusions/META.yml b/tests/wpt/web-platform-tests/css/css-exclusions/META.yml
index a954d85bb54..32410e6918e 100644
--- a/tests/wpt/web-platform-tests/css/css-exclusions/META.yml
+++ b/tests/wpt/web-platform-tests/css/css-exclusions/META.yml
@@ -1,4 +1,3 @@
spec: https://drafts.csswg.org/css-exclusions/
suggested_reviewers:
- - atanassov
- astearns
diff --git a/tests/wpt/web-platform-tests/css/css-flexbox/META.yml b/tests/wpt/web-platform-tests/css/css-flexbox/META.yml
index 764d8cbd168..0bcad0b51f7 100644
--- a/tests/wpt/web-platform-tests/css/css-flexbox/META.yml
+++ b/tests/wpt/web-platform-tests/css/css-flexbox/META.yml
@@ -4,7 +4,6 @@ suggested_reviewers:
- plinss
- mrego
- cbiesinger
- - atanassov
- fantasai
- rachelandrew
- tabatkins
diff --git a/tests/wpt/web-platform-tests/css/css-grid/META.yml b/tests/wpt/web-platform-tests/css/css-grid/META.yml
index af20bb4be80..e49946f4f70 100644
--- a/tests/wpt/web-platform-tests/css/css-grid/META.yml
+++ b/tests/wpt/web-platform-tests/css/css-grid/META.yml
@@ -2,10 +2,8 @@ spec: https://drafts.csswg.org/css-grid/
suggested_reviewers:
- mrego
- plinss
- - jxs
- tabatkins
- fantasai
- - atanassov
- javifernandez
- rachelandrew
- svillar
diff --git a/tests/wpt/web-platform-tests/css/css-logical/META.yml b/tests/wpt/web-platform-tests/css/css-logical/META.yml
index 98d838c04e1..cf789d631b1 100644
--- a/tests/wpt/web-platform-tests/css/css-logical/META.yml
+++ b/tests/wpt/web-platform-tests/css/css-logical/META.yml
@@ -1,4 +1,3 @@
spec: https://drafts.csswg.org/css-logical/
suggested_reviewers:
- - atanassov
- fantasai
diff --git a/tests/wpt/web-platform-tests/css/css-position/META.yml b/tests/wpt/web-platform-tests/css/css-position/META.yml
index 00eb3b13129..c1ce1ff602e 100644
--- a/tests/wpt/web-platform-tests/css/css-position/META.yml
+++ b/tests/wpt/web-platform-tests/css/css-position/META.yml
@@ -1,3 +1,3 @@
spec: https://drafts.csswg.org/css-position/
suggested_reviewers:
- - atanassov
+ - astearns
diff --git a/tests/wpt/web-platform-tests/css/css-properties-values-api/registered-property-computation.html b/tests/wpt/web-platform-tests/css/css-properties-values-api/registered-property-computation.html
index b1e5d23738b..f03b257246e 100644
--- a/tests/wpt/web-platform-tests/css/css-properties-values-api/registered-property-computation.html
+++ b/tests/wpt/web-platform-tests/css/css-properties-values-api/registered-property-computation.html
@@ -101,6 +101,12 @@ test_computed_value('<length>', '14em', '140px');
test_computed_value('<length>', '15vmin', length_ref('15vmin'));
test_computed_value('<length>', 'calc(16px - 7em + 10vh)', length_ref('calc(10vh - 54px)'));
+test_computed_value('<length>', '1in', '96px');
+test_computed_value('<length>', '2.54cm', '96px');
+test_computed_value('<length>', '25.4mm', '96px');
+test_computed_value('<length>', '6pc', '96px');
+test_computed_value('<length>', '72pt', '96px');
+
test_computed_value('<length-percentage>', '17em', '170px');
test_computed_value('<length-percentage>', '18%', '18%');
test_computed_value('<length-percentage>', 'calc(19em - 2%)', 'calc(-2% + 190px)');
diff --git a/tests/wpt/web-platform-tests/css/css-properties-values-api/registered-property-initial.html b/tests/wpt/web-platform-tests/css/css-properties-values-api/registered-property-initial.html
index 82a012e2f68..17c883a689a 100644
--- a/tests/wpt/web-platform-tests/css/css-properties-values-api/registered-property-initial.html
+++ b/tests/wpt/web-platform-tests/css/css-properties-values-api/registered-property-initial.html
@@ -1,6 +1,7 @@
<!DOCTYPE html>
-<link rel="help" href="https://drafts.css-houdini.org/css-properties-values-api/#dom-propertydescriptor-initialvalue" />
-<link rel="help" href="https://drafts.css-houdini.org/css-properties-values-api/#register-a-custom-property" />
+<link rel="help" href="https://drafts.css-houdini.org/css-properties-values-api-1/#dom-propertydescriptor-initialvalue" />
+<link rel="help" href="https://drafts.css-houdini.org/css-properties-values-api-1/#register-a-custom-property" />
+<link rel="help" href="https://drafts.css-houdini.org/css-properties-values-api-1/#substitution" />
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="./resources/utils.js"></script>
@@ -17,6 +18,12 @@ function test_initial_value(reg, expected) {
}
test_initial_value({ syntax: '<length>', initialValue: 'calc(10px + 15px)' }, '25px');
+test_initial_value({ syntax: '<length>', initialValue: '1in' }, '96px');
+test_initial_value({ syntax: '<length>', initialValue: '2.54cm' }, '96px');
+test_initial_value({ syntax: '<length>', initialValue: '25.4mm' }, '96px');
+test_initial_value({ syntax: '<length>', initialValue: '6pc' }, '96px');
+test_initial_value({ syntax: '<length>', initialValue: '72pt' }, '96px');
+test_initial_value({ syntax: '<percentage>', initialValue: 'calc(10% + 20%)' }, '30%');
test_initial_value({ syntax: '<length-percentage>', initialValue: 'calc(1in + 10% + 4px)' }, 'calc(10% + 100px)');
test_initial_value({ syntax: '<color>', initialValue: 'pink', inherits: true }, 'rgb(255, 192, 203)');
test_initial_value({ syntax: '<color>', initialValue: 'purple' }, 'rgb(128, 0, 128)');
@@ -42,4 +49,19 @@ function test_substituted_value(reg, property, expected) {
test_substituted_value({ syntax: '<color>', initialValue: 'purple', inherits: true }, 'color', 'rgb(128, 0, 128)');
test_substituted_value({ syntax: '<color>', initialValue: 'pink' }, 'background-color', 'rgb(255, 192, 203)');
+// Registered properties shall substitute as a token sequence equivalent to
+// their computed value.
+test_substituted_value({ syntax: 'foo', initialValue: '\tfoo\t' }, '--x', 'foo');
+test_substituted_value({ syntax: '<angle>', initialValue: '\t1turn' }, '--x', '360deg');
+test_substituted_value({ syntax: '<color>', initialValue: ' pink ' }, '--x', 'rgb(255, 192, 203)');
+test_substituted_value({ syntax: '<custom-ident>', initialValue: '\ttest' }, '--x', 'test');
+test_substituted_value({ syntax: '<integer>', initialValue: 'calc(20 + 20 + 10)' }, '--x', '50');
+test_substituted_value({ syntax: '<length-percentage>', initialValue: '\tcalc(13% + 37px)' }, '--x', 'calc(13% + 37px)');
+test_substituted_value({ syntax: '<length>', initialValue: 'calc(10px + 15px)' }, '--x', '25px');
+test_substituted_value({ syntax: '<number>', initialValue: 'calc(13 + 37)' }, '--x', '50');
+test_substituted_value({ syntax: '<percentage>', initialValue: 'calc(13% + 37%)' }, '--x', '50%');
+test_substituted_value({ syntax: '<time>', initialValue: '2000ms' }, '--x', '2s');
+test_substituted_value({ syntax: '<transform-function>', initialValue: 'scale(calc(2 + 2))' }, '--x', 'scale(4)');
+test_substituted_value({ syntax: '<transform-list>', initialValue: 'scale(calc(2 + 2)) translateX(calc(3px + 1px))' }, '--x', 'scale(4) translateX(4px)');
+
</script>
diff --git a/tests/wpt/web-platform-tests/css/css-regions/META.yml b/tests/wpt/web-platform-tests/css/css-regions/META.yml
index d8e38081fcf..37bdc98c84c 100644
--- a/tests/wpt/web-platform-tests/css/css-regions/META.yml
+++ b/tests/wpt/web-platform-tests/css/css-regions/META.yml
@@ -1,5 +1,4 @@
spec: https://drafts.csswg.org/css-regions/
suggested_reviewers:
- - atanassov
- astearns
- rachelandrew
diff --git a/tests/wpt/web-platform-tests/css/css-scrollbars/META.yml b/tests/wpt/web-platform-tests/css/css-scrollbars/META.yml
index 9209d5d1f41..f7c0439e202 100644
--- a/tests/wpt/web-platform-tests/css/css-scrollbars/META.yml
+++ b/tests/wpt/web-platform-tests/css/css-scrollbars/META.yml
@@ -1,3 +1,3 @@
spec: https://drafts.csswg.org/css-scrollbars/
suggested_reviewers:
- - tantek
+ - upsuper
diff --git a/tests/wpt/web-platform-tests/css/css-shapes/META.yml b/tests/wpt/web-platform-tests/css/css-shapes/META.yml
index 99136818e66..2e433aa66f9 100644
--- a/tests/wpt/web-platform-tests/css/css-shapes/META.yml
+++ b/tests/wpt/web-platform-tests/css/css-shapes/META.yml
@@ -1,7 +1,5 @@
spec: https://drafts.csswg.org/css-shapes/
suggested_reviewers:
- - bemjb
- kojiishi
- plinss
- - atanassov
- astearns
diff --git a/tests/wpt/web-platform-tests/css/css-style-attr/META.yml b/tests/wpt/web-platform-tests/css/css-style-attr/META.yml
index 72438735ccd..067e03cfbc7 100644
--- a/tests/wpt/web-platform-tests/css/css-style-attr/META.yml
+++ b/tests/wpt/web-platform-tests/css/css-style-attr/META.yml
@@ -1,4 +1,3 @@
spec: https://drafts.csswg.org/css-style-attr/
suggested_reviewers:
- - tantek
- fantasai
diff --git a/tests/wpt/web-platform-tests/css/css-syntax/META.yml b/tests/wpt/web-platform-tests/css/css-syntax/META.yml
index 17489e1bc21..359219c0996 100644
--- a/tests/wpt/web-platform-tests/css/css-syntax/META.yml
+++ b/tests/wpt/web-platform-tests/css/css-syntax/META.yml
@@ -2,4 +2,3 @@ spec: https://drafts.csswg.org/css-syntax/
suggested_reviewers:
- gregwhitworth
- tabatkins
- - simonsapin
diff --git a/tests/wpt/web-platform-tests/css/css-text/META.yml b/tests/wpt/web-platform-tests/css/css-text/META.yml
index 042b858557d..e7914c0fc7f 100644
--- a/tests/wpt/web-platform-tests/css/css-text/META.yml
+++ b/tests/wpt/web-platform-tests/css/css-text/META.yml
@@ -5,5 +5,4 @@ suggested_reviewers:
- frivoal
- r12a
- nox
- - hakatashi
- fantasai
diff --git a/tests/wpt/web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-007.html b/tests/wpt/web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-007.html
new file mode 100644
index 00000000000..0491b921e1a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-007.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Text Test: overflow-wrap: break-word</title>
+<link rel="author" title="Javier Fernandez Garcia-Boente" href="mailto:jfernandez@igalia.com">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#valdef-overflow-wrap-break-word">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#valdef-white-space-break-spaces">
+<meta name="flags" content="ahem">
+<link rel="match" href="reference/overflow-wrap-break-word-001-ref.html">
+<meta name="assert" content="A Single leading white-space constitutes a soft breaking opportunity, honoring the 'white-space: break-spaces' property, that must prevent the word to be broken.">
+<style>
+div {
+ position: relative;
+ font-size: 20px;
+ font-family: Ahem;
+}
+.red {
+ position: absolute;
+ background: green;
+ color: red;
+ width: 100px;
+ height: 100px;
+ z-index: -1;
+ white-space: pre;
+}
+.test {
+ color: green;
+ line-height: 1em;
+ width: 5ch;
+
+ white-space: pre-wrap;
+ overflow-wrap: break-word;
+}
+</style>
+<body>
+ <p>Test passes if there is a <strong>filled green square</strong> and <strong>no red</strong>.</p>
+ <div class="red"> XX <br>XXX</div>
+ <div class="test"> XX XXX </div>
+</body>
diff --git a/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-008.html b/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-008.html
new file mode 100644
index 00000000000..1ddbb7fe356
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-008.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Text Test: white-space: pre-wrap</title>
+<link rel="author" title="Javier Fernandez Garcia-Boente" href="mailto:jfernandez@igalia.com">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#valdef-white-space-pre-wrap">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#valdef-word-break-break-word">
+<meta name="flags" content="ahem">
+<link rel="match" href="reference/white-space-break-spaces-005-ref.html">
+<meta name="assert" content="The word is not broken despite the 'word-break: break-word' if there are previous breaking opportunities, honoring the white-space: pre-wrap value.">
+<style>
+div {
+ position: relative;
+ font-size: 20px;
+ font-family: Ahem;
+}
+.red {
+ position: absolute;
+ background: green;
+ color: red;
+ width: 100px;
+ height: 100px;
+ z-index: -1;
+ white-space: pre;
+}
+.test {
+ color: green;
+ line-height: 1em;
+ width: 5ch;
+
+ white-space: pre-wrap;
+ word-break: break-word;
+}
+</style>
+<body>
+ <p>Test passes if there is a <strong>filled green square</strong> and <strong>no red</strong>.</p>
+ <div class="red"> XX <br>XXX</div>
+ <div class="test"> XX XXX </div>
+</body>
diff --git a/tests/wpt/web-platform-tests/css/css-text/word-break/word-break-break-all-011.html b/tests/wpt/web-platform-tests/css/css-text/word-break/word-break-break-all-011.html
index fade439dd9a..74ca60503f6 100644
--- a/tests/wpt/web-platform-tests/css/css-text/word-break/word-break-break-all-011.html
+++ b/tests/wpt/web-platform-tests/css/css-text/word-break/word-break-break-all-011.html
@@ -21,10 +21,11 @@ div {
width: 100px;
height: 100px;
z-index: -1;
+ white-space: pre;
}
+span { color: green; }
.test {
color: green;
- background: green;
width: 1ch;
white-space: pre-wrap;
word-break: break-all;
@@ -32,6 +33,6 @@ div {
</style>
<body>
<p>Test passes if there is a <strong>filled green square</strong> and <strong>no red</strong>.</p>
- <div class="red">X<br>X<br>X</div>
+ <div class="red"> <br>X<br>X</div>
<div class="test"> XX</div>
</body>
diff --git a/tests/wpt/web-platform-tests/css/css-text/word-break/word-break-break-all-012.html b/tests/wpt/web-platform-tests/css/css-text/word-break/word-break-break-all-012.html
index cd3d44056ec..6cbcbad92c4 100644
--- a/tests/wpt/web-platform-tests/css/css-text/word-break/word-break-break-all-012.html
+++ b/tests/wpt/web-platform-tests/css/css-text/word-break/word-break-break-all-012.html
@@ -1,6 +1,6 @@
<!DOCTYPE html>
<meta charset="utf-8">
-<title>CSS Text Test: overflow-wrap: break-word</title>
+<title>CSS Text Test: word-break: break-all</title>
<link rel="author" title="Javier Fernandez Garcia-Boente" href="mailto:jfernandez@igalia.com">
<link rel="help" href="https://drafts.csswg.org/css-text-3/#valdef-word-break-break-all">
<link rel="help" href="https://drafts.csswg.org/css-text-3/#valdef-white-space-break-spaces">
@@ -15,12 +15,12 @@ div {
}
.red {
position: absolute;
- white-space: pre;
background: green;
color: red;
width: 100px;
height: 100px;
z-index: -1;
+ white-space: pre;
}
.test {
color: green;
diff --git a/tests/wpt/web-platform-tests/css/css-text/word-break/word-break-break-all-013.html b/tests/wpt/web-platform-tests/css/css-text/word-break/word-break-break-all-013.html
index 85dce08b641..5029e4d891b 100644
--- a/tests/wpt/web-platform-tests/css/css-text/word-break/word-break-break-all-013.html
+++ b/tests/wpt/web-platform-tests/css/css-text/word-break/word-break-break-all-013.html
@@ -20,10 +20,10 @@ div {
width: 100px;
height: 100px;
z-index: -1;
+ white-space: pre;
}
.test {
color: green;
- background: green;
line-height: 1em;
width: 1ch;
white-space: break-spaces;
@@ -32,6 +32,6 @@ div {
</style>
<body>
<p>Test passes if there is a <strong>filled green square</strong> and <strong>no red</strong>.</p>
- <div class="red">X<br>X<br>X</div>
+ <div class="red"> <br>X<br>X</div>
<div class="test"> XX</div>
</body>
diff --git a/tests/wpt/web-platform-tests/css/css-text/word-break/word-break-break-all-015.html b/tests/wpt/web-platform-tests/css/css-text/word-break/word-break-break-all-015.html
new file mode 100644
index 00000000000..9602a1f2cf0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/word-break/word-break-break-all-015.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Text Test: word-break: break-all</title>
+<link rel="author" title="Javier Fernandez Garcia-Boente" href="mailto:jfernandez@igalia.com">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#valdef-word-break-break-all">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#valdef-white-space-pre-wrap">
+<meta name="flags" content="ahem">
+<link rel="match" href="reference/word-break-break-all-010-ref.html">
+<meta name="assert" content="The word is broken even if white-space: pre-wrap provides a former breaking opportunity in leading white-space.">
+<style>
+div {
+ position: relative;
+ font-size: 20px;
+ font-family: Ahem;
+}
+.red {
+ position: absolute;
+ background: green;
+ color: red;
+ width: 100px;
+ height: 100px;
+ z-index: -1;
+ white-space: pre;
+}
+.test {
+ color: green;
+ line-height: 1em;
+ width: 5ch;
+
+ white-space: pre-wrap;
+ word-break: break-all;
+}
+</style>
+<body>
+ <p>Test passes if there is a <strong>filled green square</strong> and <strong>no red</strong>.</p>
+ <div class="red"> XX X<br>XX</div>
+ <div class="test"> XX XXX </div>
+</body>
diff --git a/tests/wpt/web-platform-tests/css/css-transforms/META.yml b/tests/wpt/web-platform-tests/css/css-transforms/META.yml
index 33c1fce3379..b948e3a31ed 100644
--- a/tests/wpt/web-platform-tests/css/css-transforms/META.yml
+++ b/tests/wpt/web-platform-tests/css/css-transforms/META.yml
@@ -3,5 +3,4 @@ suggested_reviewers:
- dbaron
- plinss
- dirkschulze
- - hober
- grorg
diff --git a/tests/wpt/web-platform-tests/css/css-ui/META.yml b/tests/wpt/web-platform-tests/css/css-ui/META.yml
index e78564bcc0d..7ce4b54a22c 100644
--- a/tests/wpt/web-platform-tests/css/css-ui/META.yml
+++ b/tests/wpt/web-platform-tests/css/css-ui/META.yml
@@ -4,4 +4,3 @@ suggested_reviewers:
- mrego
- plinss
- svgeesus
- - tantek
diff --git a/tests/wpt/web-platform-tests/css/css-writing-modes/META.yml b/tests/wpt/web-platform-tests/css/css-writing-modes/META.yml
index c74fff07de5..c11da73b6b4 100644
--- a/tests/wpt/web-platform-tests/css/css-writing-modes/META.yml
+++ b/tests/wpt/web-platform-tests/css/css-writing-modes/META.yml
@@ -2,7 +2,6 @@ spec: https://drafts.csswg.org/css-writing-modes/
suggested_reviewers:
- kojiishi
- fantasai
- - myakura
- r12a
- plinss
- upsuper
diff --git a/tests/wpt/web-platform-tests/css/selectors/META.yml b/tests/wpt/web-platform-tests/css/selectors/META.yml
index 3f86842591e..8e506d671d4 100644
--- a/tests/wpt/web-platform-tests/css/selectors/META.yml
+++ b/tests/wpt/web-platform-tests/css/selectors/META.yml
@@ -1,6 +1,5 @@
spec: https://drafts.csswg.org/selectors/
suggested_reviewers:
- - tantek
- fantasai
- frivoal
- plinss
diff --git a/tests/wpt/web-platform-tests/device-memory/META.yml b/tests/wpt/web-platform-tests/device-memory/META.yml
index b393c6b8337..b8dd4761adf 100644
--- a/tests/wpt/web-platform-tests/device-memory/META.yml
+++ b/tests/wpt/web-platform-tests/device-memory/META.yml
@@ -1,4 +1,3 @@
spec: https://w3c.github.io/device-memory/
suggested_reviewers:
- - tdresser
- npm1
diff --git a/tests/wpt/web-platform-tests/docs/META.yml b/tests/wpt/web-platform-tests/docs/META.yml
index 190b4576a10..cceb9449a42 100644
--- a/tests/wpt/web-platform-tests/docs/META.yml
+++ b/tests/wpt/web-platform-tests/docs/META.yml
@@ -1,4 +1,3 @@
suggested_reviewers:
- sideshowbarker
- - dontcallmedom
- gsnedders
diff --git a/tests/wpt/web-platform-tests/encrypted-media/META.yml b/tests/wpt/web-platform-tests/encrypted-media/META.yml
index 3168f7d96f8..b09e3b3c4e8 100644
--- a/tests/wpt/web-platform-tests/encrypted-media/META.yml
+++ b/tests/wpt/web-platform-tests/encrypted-media/META.yml
@@ -1,3 +1,6 @@
spec: https://w3c.github.io/encrypted-media/
suggested_reviewers:
- - ddorwin
+ - cpearce
+ - joeyparrish
+ - jrummell-chromium
+ - jyavenard
diff --git a/tests/wpt/web-platform-tests/event-timing/META.yml b/tests/wpt/web-platform-tests/event-timing/META.yml
index feede41dcef..aa27fb61c31 100644
--- a/tests/wpt/web-platform-tests/event-timing/META.yml
+++ b/tests/wpt/web-platform-tests/event-timing/META.yml
@@ -1,4 +1,3 @@
spec: https://github.com/WICG/event-timing
suggested_reviewers:
- npm1
- - tdresser
diff --git a/tests/wpt/web-platform-tests/feature-policy/META.yml b/tests/wpt/web-platform-tests/feature-policy/META.yml
index 44ab62ca724..a4136f77e3f 100644
--- a/tests/wpt/web-platform-tests/feature-policy/META.yml
+++ b/tests/wpt/web-platform-tests/feature-policy/META.yml
@@ -1,3 +1,3 @@
spec: https://wicg.github.io/feature-policy/
suggested_reviewers:
- - clelland
+ - bakulf
diff --git a/tests/wpt/web-platform-tests/gamepad/META.yml b/tests/wpt/web-platform-tests/gamepad/META.yml
index 5f99b9db8eb..b008a9e614c 100644
--- a/tests/wpt/web-platform-tests/gamepad/META.yml
+++ b/tests/wpt/web-platform-tests/gamepad/META.yml
@@ -1,3 +1,3 @@
spec: https://w3c.github.io/gamepad/
suggested_reviewers:
- - luser
+ - marcoscaceres
diff --git a/tests/wpt/web-platform-tests/generic-sensor/META.yml b/tests/wpt/web-platform-tests/generic-sensor/META.yml
index 1cfe809776b..bf48f80f808 100644
--- a/tests/wpt/web-platform-tests/generic-sensor/META.yml
+++ b/tests/wpt/web-platform-tests/generic-sensor/META.yml
@@ -1,7 +1,6 @@
spec: https://w3c.github.io/sensors/
suggested_reviewers:
- zqzhang
- - dontcallmedom
- riju
- rakuco
- Honry
diff --git a/tests/wpt/web-platform-tests/gyroscope/META.yml b/tests/wpt/web-platform-tests/gyroscope/META.yml
index 67f22d5374b..6a48535e3c7 100644
--- a/tests/wpt/web-platform-tests/gyroscope/META.yml
+++ b/tests/wpt/web-platform-tests/gyroscope/META.yml
@@ -1,7 +1,6 @@
spec: https://w3c.github.io/gyroscope/
suggested_reviewers:
- zqzhang
- - dontcallmedom
- riju
- Honry
- rakuco
diff --git a/tests/wpt/web-platform-tests/html-media-capture/META.yml b/tests/wpt/web-platform-tests/html-media-capture/META.yml
index 706dbdf8b6a..3dd015f3ecb 100644
--- a/tests/wpt/web-platform-tests/html-media-capture/META.yml
+++ b/tests/wpt/web-platform-tests/html-media-capture/META.yml
@@ -1,4 +1,3 @@
spec: https://w3c.github.io/html-media-capture/
suggested_reviewers:
- - haoxli
- zqzhang
diff --git a/tests/wpt/web-platform-tests/html/browsers/the-window-object/document-attribute.window.js b/tests/wpt/web-platform-tests/html/browsers/the-window-object/document-attribute.window.js
new file mode 100644
index 00000000000..f13acdb8a32
--- /dev/null
+++ b/tests/wpt/web-platform-tests/html/browsers/the-window-object/document-attribute.window.js
@@ -0,0 +1,15 @@
+async_test(t => {
+ const frame = document.createElement("iframe");
+ frame.onload = t.step_func(() => {
+ const frameW = frame.contentWindow,
+ frameD = frame.contentDocument;
+ assert_equals(frameW.document, frameD);
+ frame.remove();
+ assert_equals(frameW.document, frameD);
+ t.step_timeout(() => {
+ assert_equals(frameW.document, frameD);
+ t.done();
+ }, 100);
+ });
+ document.body.append(frame);
+}, "Window object's document IDL attribute and discarding the browsing context");
diff --git a/tests/wpt/web-platform-tests/html/browsers/the-window-object/self-et-al.window.js b/tests/wpt/web-platform-tests/html/browsers/the-window-object/self-et-al.window.js
new file mode 100644
index 00000000000..1b0fa1211a7
--- /dev/null
+++ b/tests/wpt/web-platform-tests/html/browsers/the-window-object/self-et-al.window.js
@@ -0,0 +1,43 @@
+function delayed_assert_done(t, w, windowProxySelfReference) {
+ // Let's make sure nobody is being sneaky
+ t.step_timeout(() => {
+ t.step_timeout(() => {
+ assert_equals(w[windowProxySelfReference], w, `${windowProxySelfReference} got cleared after some time`);
+ t.done();
+ }, 0);
+ }, 0);
+}
+
+[
+ "frames",
+ "globalThis",
+ "self",
+ "window"
+].forEach(windowProxySelfReference => {
+ async_test(t => {
+ const frame = document.body.appendChild(document.createElement("iframe")),
+ otherW = frame.contentWindow;
+ assert_equals(otherW[windowProxySelfReference], otherW, `${windowProxySelfReference} is broken`);
+ frame.remove();
+ assert_equals(otherW[windowProxySelfReference], otherW, `${windowProxySelfReference} got cleared after browsing context removal`);
+ assert_true(otherW.closed);
+
+ delayed_assert_done(t, otherW, windowProxySelfReference);
+ }, `iframeWindow.${windowProxySelfReference} before and after removal`);
+
+ async_test(t => {
+ const otherW = window.open();
+ assert_equals(otherW[windowProxySelfReference], otherW, `${windowProxySelfReference} is broken`);
+ otherW.onunload = t.step_func(() => {
+ assert_equals(otherW[windowProxySelfReference], otherW, `${windowProxySelfReference} got cleared after browsing context unload`);
+ t.step_timeout(() => {
+ assert_equals(otherW.opener, null); // Ensure browsing context is discarded
+ assert_equals(otherW[windowProxySelfReference], otherW, `${windowProxySelfReference} got cleared after browsing context removal`);
+ delayed_assert_done(t, otherW, windowProxySelfReference);
+ }, 0);
+ });
+ otherW.close();
+ assert_equals(otherW[windowProxySelfReference], otherW, `${windowProxySelfReference} got cleared after browsing context closure`);
+ assert_true(otherW.closed);
+ }, `popupWindow.${windowProxySelfReference} before, after closing, and after discarding`)
+});
diff --git a/tests/wpt/web-platform-tests/html/user-activation/activation-transfer-cross-origin-with-click.sub.tentative.html b/tests/wpt/web-platform-tests/html/user-activation/activation-transfer-cross-origin-with-click.sub.tentative.html
index dca44dde1da..e7d98c3b194 100644
--- a/tests/wpt/web-platform-tests/html/user-activation/activation-transfer-cross-origin-with-click.sub.tentative.html
+++ b/tests/wpt/web-platform-tests/html/user-activation/activation-transfer-cross-origin-with-click.sub.tentative.html
@@ -12,7 +12,8 @@
<script src="/resources/testdriver-vendor.js"></script>
</head>
<body>
- <h1>User activation can be transferred to a cross-origin child frame via a postMessage option.</h1>
+ <h1>User activation can be transferred to a cross-origin child frame
+ via a postMessage option.</h1>
<ol id="instructions">
<li>Click this instruction text.
</ol>
@@ -35,6 +36,8 @@
} else if (msg.type == 'child-four-report') {
assert_true(msg.isActive);
assert_true(msg.hasBeenActive);
+
+ // check sender's activation state again
assert_false(navigator.userActivation.isActive);
assert_false(navigator.userActivation.hasBeenActive);
t.done();
@@ -45,7 +48,12 @@
assert_true(navigator.userActivation.hasBeenActive);
// transfer user activation to the child frame
- child.contentWindow.postMessage("transfer_user_activation", {targetOrigin: "*", transferUserActivation: true});
+ child.contentWindow.postMessage("transfer_user_activation",
+ {targetOrigin: "*", transferUserActivation: true});
+
+ // sender's activation state is updated synchronously
+ assert_false(navigator.userActivation.isActive);
+ assert_false(navigator.userActivation.hasBeenActive);
}));
child.src = "http://{{domains[www]}}:{{ports[http][0]}}/html/user-activation/resources/child-four.html";
}, "Cross-origin user activation transfer through postMessages");
diff --git a/tests/wpt/web-platform-tests/html/user-activation/activation-transfer-with-click.tentative.html b/tests/wpt/web-platform-tests/html/user-activation/activation-transfer-with-click.tentative.html
index ebb4f5f5122..6b7a2b72967 100644
--- a/tests/wpt/web-platform-tests/html/user-activation/activation-transfer-with-click.tentative.html
+++ b/tests/wpt/web-platform-tests/html/user-activation/activation-transfer-with-click.tentative.html
@@ -12,7 +12,8 @@
<script src="/resources/testdriver-vendor.js"></script>
</head>
<body>
- <h1>User activation can be transferred to a child frame via a postMessage option.</h1>
+ <h1>User activation can be transferred to a child frame
+ via a postMessage option.</h1>
<ol id="instructions">
<li>Click this instruction text.
</ol>
@@ -35,6 +36,8 @@
} else if (msg.type == 'child-four-report') {
assert_true(msg.isActive);
assert_true(msg.hasBeenActive);
+
+ // check sender's activation state again
assert_false(navigator.userActivation.isActive);
assert_false(navigator.userActivation.hasBeenActive);
t.done();
@@ -45,7 +48,12 @@
assert_true(navigator.userActivation.hasBeenActive);
// transfer user activation to the child frame
- child.contentWindow.postMessage("transfer_user_activation", {transferUserActivation: true});
+ child.contentWindow.postMessage("transfer_user_activation",
+ {transferUserActivation: true});
+
+ // sender's activation state is updated synchronously
+ assert_false(navigator.userActivation.isActive);
+ assert_false(navigator.userActivation.hasBeenActive);
}));
child.src = "resources/child-four.html";
}, "User activation transfer through postMessages");
diff --git a/tests/wpt/web-platform-tests/imagebitmap-renderingcontext/META.yml b/tests/wpt/web-platform-tests/imagebitmap-renderingcontext/META.yml
index f6a06f4e7d7..4239a85f5ee 100644
--- a/tests/wpt/web-platform-tests/imagebitmap-renderingcontext/META.yml
+++ b/tests/wpt/web-platform-tests/imagebitmap-renderingcontext/META.yml
@@ -3,5 +3,4 @@ suggested_reviewers:
- AmeliaBR
- annevk
- kenrussell
- - jdashg
- fserb
diff --git a/tests/wpt/web-platform-tests/lint.whitelist b/tests/wpt/web-platform-tests/lint.whitelist
index 31a001c9f64..12b32126b66 100644
--- a/tests/wpt/web-platform-tests/lint.whitelist
+++ b/tests/wpt/web-platform-tests/lint.whitelist
@@ -58,6 +58,7 @@ TRAILING WHITESPACE, INDENT TABS, CR AT EOL: *.cur
TRAILING WHITESPACE, INDENT TABS, CR AT EOL: *.ico
TRAILING WHITESPACE, INDENT TABS, CR AT EOL: *.wasm
TRAILING WHITESPACE, INDENT TABS, CR AT EOL: *.bmp
+TRAILING WHITESPACE, INDENT TABS, CR AT EOL: *.sxg
## Whitespace needed for testing
@@ -187,6 +188,7 @@ SET TIMEOUT: payment-request/allowpaymentrequest/setting-allowpaymentrequest-tim
SET TIMEOUT: preload/single-download-preload.html
SET TIMEOUT: resize-observer/resources/iframe.html
SET TIMEOUT: resource-timing/resources/iframe-TAO*
+SET TIMEOUT: resource-timing/resources/nested-contexts.js
SET TIMEOUT: screen-orientation/onchange-event.html
SET TIMEOUT: secure-contexts/basic-popup-and-iframe-tests.https.js
SET TIMEOUT: service-workers/cache-storage/script-tests/cache-abort.js
diff --git a/tests/wpt/web-platform-tests/magnetometer/META.yml b/tests/wpt/web-platform-tests/magnetometer/META.yml
index 88b900c5693..d7d395ee8f2 100644
--- a/tests/wpt/web-platform-tests/magnetometer/META.yml
+++ b/tests/wpt/web-platform-tests/magnetometer/META.yml
@@ -1,7 +1,6 @@
spec: https://w3c.github.io/magnetometer/
suggested_reviewers:
- zqzhang
- - dontcallmedom
- riju
- Honry
- rakuco
diff --git a/tests/wpt/web-platform-tests/mathml/presentation-markup/fractions/frac-linethickness-001-ref.html b/tests/wpt/web-platform-tests/mathml/presentation-markup/fractions/frac-linethickness-001-ref.html
index c703edb764f..d4be8ea03bf 100644
--- a/tests/wpt/web-platform-tests/mathml/presentation-markup/fractions/frac-linethickness-001-ref.html
+++ b/tests/wpt/web-platform-tests/mathml/presentation-markup/fractions/frac-linethickness-001-ref.html
@@ -16,23 +16,26 @@
</style>
</head>
<body>
- <p>This test passes if you see fractions with line thickness equal to the height of their blue numerator and cyan denominator.</p>
+ <p>This test passes if you see the same fraction four times.</p>
<math>
- <mfrac linethickness="5px">
- <mspace width="20px" height="5px" style="background: blue"></mspace>
- <mspace width="20px" height="5px" style="background: cyan"></mspace>
+ <mfrac>
+ <mspace width="20px" height="10px" style="background: blue"></mspace>
+ <mspace width="20px" height="10px" style="background: cyan"></mspace>
</mfrac>
- <mfrac linethickness="10px">
+ <mspace width="20px"/>
+ <mfrac>
<mspace width="20px" height="10px" style="background: blue"></mspace>
<mspace width="20px" height="10px" style="background: cyan"></mspace>
</mfrac>
- <mfrac linethickness="20px">
- <mspace width="20px" height="20px" style="background: blue"></mspace>
- <mspace width="20px" height="20px" style="background: cyan"></mspace>
+ <mspace width="20px"/>
+ <mfrac>
+ <mspace width="20px" height="10px" style="background: blue"></mspace>
+ <mspace width="20px" height="10px" style="background: cyan"></mspace>
</mfrac>
- <mfrac linethickness="50px">
- <mspace width="20px" height="50px" style="background: blue"></mspace>
- <mspace width="20px" height="50px" style="background: cyan"></mspace>
+ <mspace width="20px"/>
+ <mfrac>
+ <mspace width="20px" height="10px" style="background: blue"></mspace>
+ <mspace width="20px" height="10px" style="background: cyan"></mspace>
</mfrac>
</math>
</body>
diff --git a/tests/wpt/web-platform-tests/mathml/presentation-markup/fractions/frac-linethickness-001.html b/tests/wpt/web-platform-tests/mathml/presentation-markup/fractions/frac-linethickness-001.html
index 83e15c83dc0..eca82878cae 100644
--- a/tests/wpt/web-platform-tests/mathml/presentation-markup/fractions/frac-linethickness-001.html
+++ b/tests/wpt/web-platform-tests/mathml/presentation-markup/fractions/frac-linethickness-001.html
@@ -4,7 +4,7 @@
<meta charset="utf-8">
<title>fractions linethickness</title>
<link rel="help" href="https://mathml-refresh.github.io/mathml-core/#mfrac">
- <meta name="assert" content="Verifies 'thin', 'medium', 'thick' and unitless values for the linethickness attribute of the mfrac element">
+ <meta name="assert" content="Verifies deprecated 'thin', 'medium', 'thick' and unitless values have no effect on the linethickness of the mfrac element">
<link rel="match" href="frac-linethickness-001-ref.html">
<style type="text/css">
@font-face {
@@ -19,23 +19,26 @@
</style>
</head>
<body>
- <p>This test passes if you see fractions with line thickness equal to the height of their blue numerator and cyan denominator.</p>
+ <p>This test passes if you see the same fraction four times.</p>
<math>
<mfrac linethickness="thin">
- <mspace width="20px" height="5px" style="background: blue"></mspace>
- <mspace width="20px" height="5px" style="background: cyan"></mspace>
+ <mspace width="20px" height="10px" style="background: blue"></mspace>
+ <mspace width="20px" height="10px" style="background: cyan"></mspace>
</mfrac>
+ <mspace width="20px"/>
<mfrac linethickness="medium">
<mspace width="20px" height="10px" style="background: blue"></mspace>
<mspace width="20px" height="10px" style="background: cyan"></mspace>
</mfrac>
+ <mspace width="20px"/>
<mfrac linethickness="thick">
- <mspace width="20px" height="20px" style="background: blue"></mspace>
- <mspace width="20px" height="20px" style="background: cyan"></mspace>
+ <mspace width="20px" height="10px" style="background: blue"></mspace>
+ <mspace width="20px" height="10px" style="background: cyan"></mspace>
</mfrac>
+ <mspace width="20px"/>
<mfrac linethickness="5">
- <mspace width="20px" height="50px" style="background: blue"></mspace>
- <mspace width="20px" height="50px" style="background: cyan"></mspace>
+ <mspace width="20px" height="10px" style="background: blue"></mspace>
+ <mspace width="20px" height="10px" style="background: cyan"></mspace>
</mfrac>
</math>
</body>
diff --git a/tests/wpt/web-platform-tests/mediacapture-depth/META.yml b/tests/wpt/web-platform-tests/mediacapture-depth/META.yml
index e083c9b8c3a..434612091df 100644
--- a/tests/wpt/web-platform-tests/mediacapture-depth/META.yml
+++ b/tests/wpt/web-platform-tests/mediacapture-depth/META.yml
@@ -3,4 +3,3 @@ suggested_reviewers:
- anssiko
- Honry
- robman
- - astojilj
diff --git a/tests/wpt/web-platform-tests/mediacapture-streams/META.yml b/tests/wpt/web-platform-tests/mediacapture-streams/META.yml
index 1ed650e97c4..960dc3a5ac4 100644
--- a/tests/wpt/web-platform-tests/mediacapture-streams/META.yml
+++ b/tests/wpt/web-platform-tests/mediacapture-streams/META.yml
@@ -2,7 +2,5 @@ spec: https://w3c.github.io/mediacapture-main/
suggested_reviewers:
- agouaillard
- alvestrand
- - dontcallmedom
- - eric-carlson
- youennf
- jan-ivar
diff --git a/tests/wpt/web-platform-tests/notifications/META.yml b/tests/wpt/web-platform-tests/notifications/META.yml
index 2cb7972705c..0daa86e6f48 100644
--- a/tests/wpt/web-platform-tests/notifications/META.yml
+++ b/tests/wpt/web-platform-tests/notifications/META.yml
@@ -1,4 +1,3 @@
spec: https://notifications.spec.whatwg.org/
suggested_reviewers:
- sideshowbarker
- - ibelem
diff --git a/tests/wpt/web-platform-tests/offscreen-canvas/META.yml b/tests/wpt/web-platform-tests/offscreen-canvas/META.yml
index bcb30ed2766..d3e4c387e8b 100644
--- a/tests/wpt/web-platform-tests/offscreen-canvas/META.yml
+++ b/tests/wpt/web-platform-tests/offscreen-canvas/META.yml
@@ -3,5 +3,4 @@ suggested_reviewers:
- AmeliaBR
- annevk
- kenrussell
- - jdashg
- fserb
diff --git a/tests/wpt/web-platform-tests/orientation-sensor/META.yml b/tests/wpt/web-platform-tests/orientation-sensor/META.yml
index 99d6166664c..427385826fc 100644
--- a/tests/wpt/web-platform-tests/orientation-sensor/META.yml
+++ b/tests/wpt/web-platform-tests/orientation-sensor/META.yml
@@ -1,7 +1,6 @@
spec: https://w3c.github.io/orientation-sensor/
suggested_reviewers:
- zqzhang
- - dontcallmedom
- riju
- Honry
- rakuco
diff --git a/tests/wpt/web-platform-tests/paint-timing/META.yml b/tests/wpt/web-platform-tests/paint-timing/META.yml
index 24acb2587d1..1892a41ed1c 100644
--- a/tests/wpt/web-platform-tests/paint-timing/META.yml
+++ b/tests/wpt/web-platform-tests/paint-timing/META.yml
@@ -1,4 +1,3 @@
spec: https://w3c.github.io/paint-timing/
suggested_reviewers:
- spanicker
- - tdresser
diff --git a/tests/wpt/web-platform-tests/payment-method-id/META.yml b/tests/wpt/web-platform-tests/payment-method-id/META.yml
index e0931f4f8f5..5e9fe05abae 100644
--- a/tests/wpt/web-platform-tests/payment-method-id/META.yml
+++ b/tests/wpt/web-platform-tests/payment-method-id/META.yml
@@ -1,4 +1,3 @@
spec: https://w3c.github.io/payment-method-id/
suggested_reviewers:
- - alphan102
- marcoscaceres
diff --git a/tests/wpt/web-platform-tests/payment-request/PaymentAddress/attributes-and-toJSON-method-manual.https.html b/tests/wpt/web-platform-tests/payment-request/PaymentAddress/attributes-and-toJSON-method-manual.https.html
index 45f3f0a5672..226fd88ff84 100644
--- a/tests/wpt/web-platform-tests/payment-request/PaymentAddress/attributes-and-toJSON-method-manual.https.html
+++ b/tests/wpt/web-platform-tests/payment-request/PaymentAddress/attributes-and-toJSON-method-manual.https.html
@@ -72,6 +72,7 @@ function runManualTest(button, expected = {}) {
city: 'Chapel Hill',
dependentLocality: '',
postalCode: '6095',
+ region: 'QLD',
sortingCode: '',
organization: 'w3c',
recipient: 'web platform test',
diff --git a/tests/wpt/web-platform-tests/payment-request/payment-response/onpayerdetailchange-attribute-manual.https.html b/tests/wpt/web-platform-tests/payment-request/payment-response/onpayerdetailchange-attribute-manual.https.html
index c8dd92636c6..f3f3f76357c 100644
--- a/tests/wpt/web-platform-tests/payment-request/payment-response/onpayerdetailchange-attribute-manual.https.html
+++ b/tests/wpt/web-platform-tests/payment-request/payment-response/onpayerdetailchange-attribute-manual.https.html
@@ -16,7 +16,14 @@ function runTest(button, options, expected){
await response.retry({ error });
const event = await eventPromise;
assert_true(event instanceof PaymentRequestUpdateEvent);
- for(const [prop, value] of Object.entries(expected)){
+ for([prop, value] of Object.entries(expected)){
+ if (prop === 'payerPhone') {
+ // |payerPhone| may optionally adhere to E164 structure, which does not
+ // contain formatting, e.g. +180000000 instead of +1-800-000-0000.
+ // Strip out the formatting in case the user agent implements E164.
+ // https://w3c.github.io/payment-request/#addressinit-dictionary
+ value = value.replace(/[-\(\) ]/g, '');
+ }
assert_equals(response[prop], value);
}
await response.complete("success");
@@ -52,7 +59,7 @@ function runTest(button, options, expected){
<p>
Change payer's phone to "+1-800-000-0000".
</p>
- <button onclick="runTest(this, {requestPayerPhone: true}, { payerPhone: '+1-800-000-0000' })">
+ <button onclick="runTest(this, {requestPayerPhone: true}, { payerPhone: '+18000000000' })">
PaymentRequestUpdateEvent is dispatched when payer phone changes.
</button>
</li>
diff --git a/tests/wpt/web-platform-tests/pointerevents/META.yml b/tests/wpt/web-platform-tests/pointerevents/META.yml
index be61ddddaf6..1962feaf8af 100644
--- a/tests/wpt/web-platform-tests/pointerevents/META.yml
+++ b/tests/wpt/web-platform-tests/pointerevents/META.yml
@@ -1,8 +1,6 @@
spec: https://w3c.github.io/pointerevents/
suggested_reviewers:
- Steditor
- - jacobrossi
- plehegar
- - scottgonzalez
- RByers
- NavidZ
diff --git a/tests/wpt/web-platform-tests/proximity/META.yml b/tests/wpt/web-platform-tests/proximity/META.yml
index 9b5ffbc27e6..284afed59d9 100644
--- a/tests/wpt/web-platform-tests/proximity/META.yml
+++ b/tests/wpt/web-platform-tests/proximity/META.yml
@@ -1,6 +1,5 @@
spec: https://w3c.github.io/proximity/
suggested_reviewers:
- zqzhang
- - dontcallmedom
- Honry
- rakuco
diff --git a/tests/wpt/web-platform-tests/referrer-policy/META.yml b/tests/wpt/web-platform-tests/referrer-policy/META.yml
index a622289c056..8ead043aad0 100644
--- a/tests/wpt/web-platform-tests/referrer-policy/META.yml
+++ b/tests/wpt/web-platform-tests/referrer-policy/META.yml
@@ -1,5 +1,3 @@
spec: https://w3c.github.io/webappsec-referrer-policy/
suggested_reviewers:
- - estark37
- - jeisinger
- domfarolino
diff --git a/tests/wpt/web-platform-tests/resource-timing/META.yml b/tests/wpt/web-platform-tests/resource-timing/META.yml
index a2ce7c48f50..76176970d4d 100644
--- a/tests/wpt/web-platform-tests/resource-timing/META.yml
+++ b/tests/wpt/web-platform-tests/resource-timing/META.yml
@@ -1,6 +1,5 @@
spec: https://w3c.github.io/resource-timing/
suggested_reviewers:
- - haoxli
- plehegar
- zqzhang
- igrigorik
diff --git a/tests/wpt/web-platform-tests/resource-timing/nested-context-navigations.html b/tests/wpt/web-platform-tests/resource-timing/nested-context-navigations.html
new file mode 100644
index 00000000000..483cc5b82d5
--- /dev/null
+++ b/tests/wpt/web-platform-tests/resource-timing/nested-context-navigations.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8" />
+<meta name=timeout content=long>
+<title>Resource Timing embed navigate - back button navigation</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/common/get-host-info.sub.js"></script>
+<script src="resources/nested-contexts.js"></script>
+<script>
+ open_test_window("resources/embed-navigate-back.html", "Test that embed navigations are not observable by the parent, even after history navigations by the parent");
+ open_test_window("resources/embed-navigate-back.html?crossorigin", "Test that crossorigin embed navigations are not observable by the parent, even after history navigations by the parent");
+ open_test_window("resources/embed-navigate.html", "Test that embed navigations are not observable by the parent");
+ open_test_window("resources/embed-navigate.html?crossorigin", "Test that crossorigin embed navigations are not observable by the parent");
+ open_test_window("resources/embed-refresh.html", "Test that embed refreshes are not observable by the parent");
+ open_test_window("resources/embed-refresh.html?crossorigin", "Test that crossorigin embed refreshes are not observable by the parent");
+ open_test_window("resources/iframe-navigate-back.html", "Test that iframe navigations are not observable by the parent, even after history navigations by the parent");
+ open_test_window("resources/iframe-navigate-back.html?crossorigin", "Test that crossorigin iframe navigations are not observable by the parent, even after history navigations by the parent");
+ open_test_window("resources/iframe-navigate.html", "Test that iframe navigations are not observable by the parent");
+ open_test_window("resources/iframe-navigate.html?crossorigin", "Test that crossorigin iframe navigations are not observable by the parent");
+ open_test_window("resources/iframe-refresh.html", "Test that iframe refreshes are not observable by the parent");
+ open_test_window("resources/iframe-refresh.html?crossorigin", "Test that crossorigin iframe refreshes are not observable by the parent");
+ open_test_window("resources/object-navigate-back.html", "Test that object navigations are not observable by the parent, even after history navigations by the parent");
+ open_test_window("resources/object-navigate-back.html?crossorigin", "Test that crossorigin object navigations are not observable by the parent, even after history navigations by the parent");
+ open_test_window("resources/object-navigate.html", "Test that object navigations are not observable by the parent");
+ open_test_window("resources/object-navigate.html?crossorigin", "Test that crossorigin object navigations are not observable by the parent");
+ open_test_window("resources/object-refresh.html", "Test that object refreshes are not observable by the parent");
+ open_test_window("resources/object-refresh.html?crossorigin", "Test that crossorigin object refreshes are not observable by the parent");
+</script>
+
diff --git a/tests/wpt/web-platform-tests/resource-timing/resources/document-navigated.html b/tests/wpt/web-platform-tests/resource-timing/resources/document-navigated.html
new file mode 100644
index 00000000000..fa87355c3ed
--- /dev/null
+++ b/tests/wpt/web-platform-tests/resource-timing/resources/document-navigated.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8" />
+</head>
+<body>
+ navigated document!
+<script>
+ top.postMessage("navigated", "*");
+</script>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/resource-timing/resources/document-refreshed.html b/tests/wpt/web-platform-tests/resource-timing/resources/document-refreshed.html
new file mode 100644
index 00000000000..7e4ca09891e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/resource-timing/resources/document-refreshed.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8" />
+</head>
+<body>
+ Refreshed document!
+<script>
+ top.postMessage("refreshed", "*");
+</script>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/resource-timing/resources/document-that-navigates.html b/tests/wpt/web-platform-tests/resource-timing/resources/document-that-navigates.html
new file mode 100644
index 00000000000..cb567bf3d2a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/resource-timing/resources/document-that-navigates.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8" />
+</head>
+<body>
+<script>
+ location.href="document-navigated.html";
+</script>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/resource-timing/resources/document-that-refreshes.html b/tests/wpt/web-platform-tests/resource-timing/resources/document-that-refreshes.html
new file mode 100644
index 00000000000..75522782a62
--- /dev/null
+++ b/tests/wpt/web-platform-tests/resource-timing/resources/document-that-refreshes.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8" />
+<meta http-equiv="refresh" content="0;document-refreshed.html">
+</head>
+<body></body>
+</html>
diff --git a/tests/wpt/web-platform-tests/resource-timing/resources/embed-navigate-back.html b/tests/wpt/web-platform-tests/resource-timing/resources/embed-navigate-back.html
new file mode 100644
index 00000000000..3c3def1d1a1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/resource-timing/resources/embed-navigate-back.html
@@ -0,0 +1,14 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8" />
+<title>Resource Timing embed navigate - back button navigation</title>
+<script src="/common/get-host-info.sub.js"></script>
+<script src="nested-contexts.js"></script>
+<script>
+setup_back_navigation("embed-navigate-back.html");
+</script>
+<embed type="text/html">
+<script>
+ document.getElementsByTagName("embed")[0].src = pre_navigate_url;
+</script>
diff --git a/tests/wpt/web-platform-tests/resource-timing/resources/embed-navigate.html b/tests/wpt/web-platform-tests/resource-timing/resources/embed-navigate.html
new file mode 100644
index 00000000000..20a73c662b4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/resource-timing/resources/embed-navigate.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8" />
+<title>Resource Timing embed navigate</title>
+<script src="/common/get-host-info.sub.js"></script>
+<script src="nested-contexts.js"></script>
+<script>
+ setup_navigate_test();
+</script>
+<div id=log></div>
+<embed type="text/html">
+<script>
+ document.getElementsByTagName("embed")[0].src = pre_navigate_url;
+</script>
diff --git a/tests/wpt/web-platform-tests/resource-timing/resources/embed-refresh.html b/tests/wpt/web-platform-tests/resource-timing/resources/embed-refresh.html
new file mode 100644
index 00000000000..4a49fd0b4c1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/resource-timing/resources/embed-refresh.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8" />
+<title>Resource Timing embed refresh</title>
+<script src="/common/get-host-info.sub.js"></script>
+<script src="nested-contexts.js"></script>
+<script>
+ setup_refresh_test();
+</script>
+<div id=log></div>
+<embed type="text/html">
+<script>
+ document.getElementsByTagName("embed")[0].src = pre_refresh_url;
+</script>
diff --git a/tests/wpt/web-platform-tests/resource-timing/resources/iframe-navigate-back.html b/tests/wpt/web-platform-tests/resource-timing/resources/iframe-navigate-back.html
new file mode 100644
index 00000000000..c5c1fc1ad4d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/resource-timing/resources/iframe-navigate-back.html
@@ -0,0 +1,14 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8" />
+<title>Resource Timing iframe navigate - back button navigation</title>
+<script src="/common/get-host-info.sub.js"></script>
+<script src="nested-contexts.js"></script>
+<script>
+setup_back_navigation("iframe-navigate-back.html");
+</script>
+<iframe></iframe>
+<script>
+ document.getElementsByTagName("iframe")[0].src = pre_navigate_url;
+</script>
diff --git a/tests/wpt/web-platform-tests/resource-timing/resources/iframe-navigate.html b/tests/wpt/web-platform-tests/resource-timing/resources/iframe-navigate.html
new file mode 100644
index 00000000000..2a1a7e06361
--- /dev/null
+++ b/tests/wpt/web-platform-tests/resource-timing/resources/iframe-navigate.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8" />
+<title>Resource Timing iframe navigate</title>
+<script src="/common/get-host-info.sub.js"></script>
+<script src="nested-contexts.js"></script>
+<script>
+ setup_navigate_test();
+</script>
+<div id=log></div>
+<iframe></iframe>
+<script>
+ document.getElementsByTagName("iframe")[0].src = pre_navigate_url;
+</script>
diff --git a/tests/wpt/web-platform-tests/resource-timing/resources/iframe-refresh.html b/tests/wpt/web-platform-tests/resource-timing/resources/iframe-refresh.html
new file mode 100644
index 00000000000..4ce3ea04242
--- /dev/null
+++ b/tests/wpt/web-platform-tests/resource-timing/resources/iframe-refresh.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8" />
+<title>Resource Timing iframe refresh</title>
+<script src="/common/get-host-info.sub.js"></script>
+<script src="nested-contexts.js"></script>
+<script>
+ setup_refresh_test();
+</script>
+<div id=log></div>
+<iframe></iframe>
+<script>
+ document.getElementsByTagName("iframe")[0].src = pre_refresh_url;
+</script>
diff --git a/tests/wpt/web-platform-tests/resource-timing/resources/navigate_back.html b/tests/wpt/web-platform-tests/resource-timing/resources/navigate_back.html
new file mode 100644
index 00000000000..345eee1fccc
--- /dev/null
+++ b/tests/wpt/web-platform-tests/resource-timing/resources/navigate_back.html
@@ -0,0 +1,7 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8" />
+<script>
+window.onload = function() {history.back();}
+</script>
diff --git a/tests/wpt/web-platform-tests/resource-timing/resources/nested-contexts.js b/tests/wpt/web-platform-tests/resource-timing/resources/nested-contexts.js
new file mode 100644
index 00000000000..0c202243702
--- /dev/null
+++ b/tests/wpt/web-platform-tests/resource-timing/resources/nested-contexts.js
@@ -0,0 +1,95 @@
+let destination = location;
+if (location.search == "?crossorigin") {
+ const host_info = get_host_info()
+ destination = location.protocol + "//" + host_info["REMOTE_HOST"] + ":" + location.port;
+}
+
+const pre_navigate_url = new URL("/resource-timing/resources/document-that-navigates.html", destination).href;
+const post_navigate_url = new URL("/resource-timing/resources/document-navigated.html", destination).href;
+const pre_refresh_url = new URL("/resource-timing/resources/document-that-refreshes.html", destination).href;
+const post_refresh_url = new URL("/resource-timing/resources/document-refreshed.html", destination).href;
+
+function setup_navigate_or_refresh(type, pre, post) {
+ function verify_document_navigate_not_observable() {
+ let entries = performance.getEntriesByType("resource");
+ let found_first_document = false;
+ for (entry of entries) {
+ if (entry.name == pre) {
+ found_first_document = true;
+ }
+ if (entry.name == post) {
+ opener.postMessage("FAIL - " + type + " document should not be observable", "*");
+ return;
+ }
+ }
+ if (!found_first_document) {
+ opener.postMessage("FAIL - initial document should be observable", "*");
+ return;
+ }
+ opener.postMessage("PASS", "*");
+ }
+ window.addEventListener("message", e=>{
+ if (e.data == type) {
+ verify_document_navigate_not_observable();
+ }
+ });
+}
+
+function setup_navigate_test() {
+ setup_navigate_or_refresh("navigated", pre_navigate_url, post_navigate_url);
+}
+
+function setup_refresh_test() {
+ setup_navigate_or_refresh("refreshed", pre_refresh_url, post_refresh_url);
+}
+
+function setup_back_navigation(pushed_url) {
+ function verify_document_navigate_not_observable() {
+ let entries = performance.getEntriesByType("resource");
+ let found_first_document = false;
+ for (entry of entries) {
+ if (entry.name == pre_navigate_url) {
+ found_first_document = true;
+ }
+ if (entry.name == post_navigate_url) {
+ opener.postMessage("FAIL - navigated document exposed", "*");
+ return;
+ }
+ }
+ if (!found_first_document) {
+ opener.postMessage("FAIL - first document not exposed", "*");
+ return;
+ }
+ opener.postMessage("PASS", "*");
+ }
+ window.addEventListener("message", e=>{
+ if (e.data == "navigated") {
+ if (sessionStorage.navigated) {
+ delete sessionStorage.navigated;
+ verify_document_navigate_not_observable();
+ } else {
+ sessionStorage.navigated = true;
+ setTimeout(() => {
+ history.pushState({}, "", pushed_url);
+ location.href="navigate_back.html";
+ }, 0);
+ }
+ }
+ });
+}
+
+function open_test_window(url, message) {
+ promise_test(() => {
+ return new Promise((resolve, reject) => {
+ let openee = window.open(url);
+ addEventListener("message", e => {
+ openee.close();
+ if (e.data == "PASS") {
+ resolve();
+ } else {
+ reject(e.data);
+ }
+ });
+ });
+ }, message);
+}
diff --git a/tests/wpt/web-platform-tests/resource-timing/resources/object-navigate-back.html b/tests/wpt/web-platform-tests/resource-timing/resources/object-navigate-back.html
new file mode 100644
index 00000000000..64e5f584731
--- /dev/null
+++ b/tests/wpt/web-platform-tests/resource-timing/resources/object-navigate-back.html
@@ -0,0 +1,14 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8" />
+<title>Resource Timing object navigate - back button navigation</title>
+<script src="/common/get-host-info.sub.js"></script>
+<script src="nested-contexts.js"></script>
+<script>
+setup_back_navigation("object-navigate-back.html");
+</script>
+<object></object>
+<script>
+ document.getElementsByTagName("object")[0].data = pre_navigate_url;
+</script>
diff --git a/tests/wpt/web-platform-tests/resource-timing/resources/object-navigate.html b/tests/wpt/web-platform-tests/resource-timing/resources/object-navigate.html
new file mode 100644
index 00000000000..cbb862e7e00
--- /dev/null
+++ b/tests/wpt/web-platform-tests/resource-timing/resources/object-navigate.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8" />
+<title>Resource Timing object navigate</title>
+<script src="/common/get-host-info.sub.js"></script>
+<script src="nested-contexts.js"></script>
+<script>
+ setup_navigate_test();
+</script>
+<div id=log></div>
+<object></object>
+<script>
+ document.getElementsByTagName("object")[0].data = pre_navigate_url;
+</script>
diff --git a/tests/wpt/web-platform-tests/resource-timing/resources/object-refresh.html b/tests/wpt/web-platform-tests/resource-timing/resources/object-refresh.html
new file mode 100644
index 00000000000..b14cf7f17c9
--- /dev/null
+++ b/tests/wpt/web-platform-tests/resource-timing/resources/object-refresh.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8" />
+<title>Resource Timing object refresh</title>
+<script src="/common/get-host-info.sub.js"></script>
+<script src="nested-contexts.js"></script>
+<script>
+ setup_refresh_test();
+</script>
+<div id=log></div>
+<object></object>
+<script>
+ document.getElementsByTagName("object")[0].data = pre_refresh_url;
+</script>
diff --git a/tests/wpt/web-platform-tests/resources/chromium/device.mojom.js b/tests/wpt/web-platform-tests/resources/chromium/device.mojom.js
index 436d3038b85..6488cbc69c2 100644
--- a/tests/wpt/web-platform-tests/resources/chromium/device.mojom.js
+++ b/tests/wpt/web-platform-tests/resources/chromium/device.mojom.js
@@ -155,6 +155,62 @@
return validator.validationError.UNKNOWN_ENUM_VALUE;
};
+ var UsbSynchronizationType = {};
+ UsbSynchronizationType.NONE = 0;
+ UsbSynchronizationType.ASYNCHRONOUS = UsbSynchronizationType.NONE + 1;
+ UsbSynchronizationType.ADAPTIVE = UsbSynchronizationType.ASYNCHRONOUS + 1;
+ UsbSynchronizationType.SYNCHRONOUS = UsbSynchronizationType.ADAPTIVE + 1;
+ UsbSynchronizationType.MIN_VALUE = 0,
+ UsbSynchronizationType.MAX_VALUE = 3,
+
+ UsbSynchronizationType.isKnownEnumValue = function(value) {
+ switch (value) {
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ return true;
+ }
+ return false;
+ };
+
+ UsbSynchronizationType.validate = function(enumValue) {
+ var isExtensible = false;
+ if (isExtensible || this.isKnownEnumValue(enumValue))
+ return validator.validationError.NONE;
+
+ return validator.validationError.UNKNOWN_ENUM_VALUE;
+ };
+ var UsbUsageType = {};
+ UsbUsageType.DATA = 0;
+ UsbUsageType.FEEDBACK = UsbUsageType.DATA + 1;
+ UsbUsageType.EXPLICIT_FEEDBACK = UsbUsageType.FEEDBACK + 1;
+ UsbUsageType.PERIODIC = UsbUsageType.EXPLICIT_FEEDBACK + 1;
+ UsbUsageType.NOTIFICATION = UsbUsageType.PERIODIC + 1;
+ UsbUsageType.RESERVED = UsbUsageType.NOTIFICATION + 1;
+ UsbUsageType.MIN_VALUE = 0,
+ UsbUsageType.MAX_VALUE = 5,
+
+ UsbUsageType.isKnownEnumValue = function(value) {
+ switch (value) {
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ return true;
+ }
+ return false;
+ };
+
+ UsbUsageType.validate = function(enumValue) {
+ var isExtensible = false;
+ if (isExtensible || this.isKnownEnumValue(enumValue))
+ return validator.validationError.NONE;
+
+ return validator.validationError.UNKNOWN_ENUM_VALUE;
+ };
var UsbTransferStatus = {};
UsbTransferStatus.COMPLETED = 0;
UsbTransferStatus.TRANSFER_ERROR = UsbTransferStatus.COMPLETED + 1;
@@ -200,9 +256,13 @@
UsbEndpointInfo.prototype.initDefaults_ = function() {
this.endpointNumber = 0;
+ this.pollingInterval = 0;
this.direction = 0;
this.type = 0;
this.packetSize = 0;
+ this.synchronizationType = 0;
+ this.usageType = 0;
+ this.extraData = null;
};
UsbEndpointInfo.prototype.initFields_ = function(fields) {
for(var field in fields) {
@@ -218,7 +278,7 @@
return err;
var kVersionSizes = [
- {version: 0, numBytes: 24}
+ {version: 0, numBytes: 40}
];
err = messageValidator.validateStructVersion(offset, kVersionSizes);
if (err !== validator.validationError.NONE)
@@ -238,10 +298,29 @@
return err;
+
+ // validate UsbEndpointInfo.synchronizationType
+ err = messageValidator.validateEnum(offset + codec.kStructHeaderSize + 16, UsbSynchronizationType);
+ if (err !== validator.validationError.NONE)
+ return err;
+
+
+ // validate UsbEndpointInfo.usageType
+ err = messageValidator.validateEnum(offset + codec.kStructHeaderSize + 20, UsbUsageType);
+ if (err !== validator.validationError.NONE)
+ return err;
+
+
+
+ // validate UsbEndpointInfo.extraData
+ err = messageValidator.validateArrayPointer(offset + codec.kStructHeaderSize + 24, 1, codec.Uint8, false, [0], 0);
+ if (err !== validator.validationError.NONE)
+ return err;
+
return validator.validationError.NONE;
};
- UsbEndpointInfo.encodedSize = codec.kStructHeaderSize + 16;
+ UsbEndpointInfo.encodedSize = codec.kStructHeaderSize + 32;
UsbEndpointInfo.decode = function(decoder) {
var packed;
@@ -249,12 +328,15 @@
var numberOfBytes = decoder.readUint32();
var version = decoder.readUint32();
val.endpointNumber = decoder.decodeStruct(codec.Uint8);
- decoder.skip(1);
+ val.pollingInterval = decoder.decodeStruct(codec.Uint8);
decoder.skip(1);
decoder.skip(1);
val.direction = decoder.decodeStruct(codec.Int32);
val.type = decoder.decodeStruct(codec.Int32);
val.packetSize = decoder.decodeStruct(codec.Uint32);
+ val.synchronizationType = decoder.decodeStruct(codec.Int32);
+ val.usageType = decoder.decodeStruct(codec.Int32);
+ val.extraData = decoder.decodeArrayPointer(codec.Uint8);
return val;
};
@@ -263,12 +345,15 @@
encoder.writeUint32(UsbEndpointInfo.encodedSize);
encoder.writeUint32(0);
encoder.encodeStruct(codec.Uint8, val.endpointNumber);
- encoder.skip(1);
+ encoder.encodeStruct(codec.Uint8, val.pollingInterval);
encoder.skip(1);
encoder.skip(1);
encoder.encodeStruct(codec.Int32, val.direction);
encoder.encodeStruct(codec.Int32, val.type);
encoder.encodeStruct(codec.Uint32, val.packetSize);
+ encoder.encodeStruct(codec.Int32, val.synchronizationType);
+ encoder.encodeStruct(codec.Int32, val.usageType);
+ encoder.encodeArrayPointer(codec.Uint8, val.extraData);
};
function UsbAlternateInterfaceInfo(values) {
this.initDefaults_();
@@ -283,6 +368,7 @@
this.protocolCode = 0;
this.interfaceName = null;
this.endpoints = null;
+ this.extraData = null;
};
UsbAlternateInterfaceInfo.prototype.initFields_ = function(fields) {
for(var field in fields) {
@@ -298,7 +384,7 @@
return err;
var kVersionSizes = [
- {version: 0, numBytes: 32}
+ {version: 0, numBytes: 40}
];
err = messageValidator.validateStructVersion(offset, kVersionSizes);
if (err !== validator.validationError.NONE)
@@ -320,10 +406,16 @@
if (err !== validator.validationError.NONE)
return err;
+
+ // validate UsbAlternateInterfaceInfo.extraData
+ err = messageValidator.validateArrayPointer(offset + codec.kStructHeaderSize + 24, 1, codec.Uint8, false, [0], 0);
+ if (err !== validator.validationError.NONE)
+ return err;
+
return validator.validationError.NONE;
};
- UsbAlternateInterfaceInfo.encodedSize = codec.kStructHeaderSize + 24;
+ UsbAlternateInterfaceInfo.encodedSize = codec.kStructHeaderSize + 32;
UsbAlternateInterfaceInfo.decode = function(decoder) {
var packed;
@@ -340,6 +432,7 @@
decoder.skip(1);
val.interfaceName = decoder.decodeStructPointer(string16$.String16);
val.endpoints = decoder.decodeArrayPointer(new codec.PointerTo(UsbEndpointInfo));
+ val.extraData = decoder.decodeArrayPointer(codec.Uint8);
return val;
};
@@ -357,6 +450,7 @@
encoder.skip(1);
encoder.encodeStructPointer(string16$.String16, val.interfaceName);
encoder.encodeArrayPointer(new codec.PointerTo(UsbEndpointInfo), val.endpoints);
+ encoder.encodeArrayPointer(codec.Uint8, val.extraData);
};
function UsbInterfaceInfo(values) {
this.initDefaults_();
@@ -439,8 +533,12 @@
UsbConfigurationInfo.prototype.initDefaults_ = function() {
this.configurationValue = 0;
+ this.selfPowered = false;
+ this.remoteWakeup = false;
+ this.maximumPower = 0;
this.configurationName = null;
this.interfaces = null;
+ this.extraData = null;
};
UsbConfigurationInfo.prototype.initFields_ = function(fields) {
for(var field in fields) {
@@ -456,7 +554,7 @@
return err;
var kVersionSizes = [
- {version: 0, numBytes: 32}
+ {version: 0, numBytes: 40}
];
err = messageValidator.validateStructVersion(offset, kVersionSizes);
if (err !== validator.validationError.NONE)
@@ -470,15 +568,24 @@
return err;
+
+
+
// validate UsbConfigurationInfo.interfaces
err = messageValidator.validateArrayPointer(offset + codec.kStructHeaderSize + 16, 8, new codec.PointerTo(UsbInterfaceInfo), false, [0], 0);
if (err !== validator.validationError.NONE)
return err;
+
+ // validate UsbConfigurationInfo.extraData
+ err = messageValidator.validateArrayPointer(offset + codec.kStructHeaderSize + 24, 1, codec.Uint8, false, [0], 0);
+ if (err !== validator.validationError.NONE)
+ return err;
+
return validator.validationError.NONE;
};
- UsbConfigurationInfo.encodedSize = codec.kStructHeaderSize + 24;
+ UsbConfigurationInfo.encodedSize = codec.kStructHeaderSize + 32;
UsbConfigurationInfo.decode = function(decoder) {
var packed;
@@ -486,8 +593,10 @@
var numberOfBytes = decoder.readUint32();
var version = decoder.readUint32();
val.configurationValue = decoder.decodeStruct(codec.Uint8);
- decoder.skip(1);
- decoder.skip(1);
+ packed = decoder.readUint8();
+ val.selfPowered = (packed >> 0) & 1 ? true : false;
+ val.remoteWakeup = (packed >> 1) & 1 ? true : false;
+ val.maximumPower = decoder.decodeStruct(codec.Uint8);
decoder.skip(1);
decoder.skip(1);
decoder.skip(1);
@@ -495,6 +604,7 @@
decoder.skip(1);
val.configurationName = decoder.decodeStructPointer(string16$.String16);
val.interfaces = decoder.decodeArrayPointer(new codec.PointerTo(UsbInterfaceInfo));
+ val.extraData = decoder.decodeArrayPointer(codec.Uint8);
return val;
};
@@ -503,8 +613,11 @@
encoder.writeUint32(UsbConfigurationInfo.encodedSize);
encoder.writeUint32(0);
encoder.encodeStruct(codec.Uint8, val.configurationValue);
- encoder.skip(1);
- encoder.skip(1);
+ packed = 0;
+ packed |= (val.selfPowered & 1) << 0
+ packed |= (val.remoteWakeup & 1) << 1
+ encoder.writeUint8(packed);
+ encoder.encodeStruct(codec.Uint8, val.maximumPower);
encoder.skip(1);
encoder.skip(1);
encoder.skip(1);
@@ -512,6 +625,7 @@
encoder.skip(1);
encoder.encodeStructPointer(string16$.String16, val.configurationName);
encoder.encodeArrayPointer(new codec.PointerTo(UsbInterfaceInfo), val.interfaces);
+ encoder.encodeArrayPointer(codec.Uint8, val.extraData);
};
function UsbDeviceInfo(values) {
this.initDefaults_();
@@ -3655,6 +3769,8 @@
exports.UsbControlTransferType = UsbControlTransferType;
exports.UsbControlTransferRecipient = UsbControlTransferRecipient;
exports.UsbTransferType = UsbTransferType;
+ exports.UsbSynchronizationType = UsbSynchronizationType;
+ exports.UsbUsageType = UsbUsageType;
exports.UsbTransferStatus = UsbTransferStatus;
exports.UsbEndpointInfo = UsbEndpointInfo;
exports.UsbAlternateInterfaceInfo = UsbAlternateInterfaceInfo;
@@ -3669,4 +3785,4 @@
exports.UsbDeviceClient = UsbDeviceClient;
exports.UsbDeviceClientPtr = UsbDeviceClientPtr;
exports.UsbDeviceClientAssociatedPtr = UsbDeviceClientAssociatedPtr;
-})(); \ No newline at end of file
+})();
diff --git a/tests/wpt/web-platform-tests/resources/chromium/webusb-test.js b/tests/wpt/web-platform-tests/resources/chromium/webusb-test.js
index 18ee824aafa..c4d4e8f1ac4 100644
--- a/tests/wpt/web-platform-tests/resources/chromium/webusb-test.js
+++ b/tests/wpt/web-platform-tests/resources/chromium/webusb-test.js
@@ -68,7 +68,11 @@ function fakeDeviceInitToDeviceInfo(guid, init) {
var configInfo = {
configurationValue: config.configurationValue,
configurationName: stringToMojoString16(config.configurationName),
- interfaces: []
+ selfPowered: false,
+ remoteWakeup: false,
+ maximumPower: 0,
+ interfaces: [],
+ extraData: new Uint8Array()
};
config.interfaces.forEach(iface => {
var interfaceInfo = {
@@ -82,12 +86,17 @@ function fakeDeviceInitToDeviceInfo(guid, init) {
subclassCode: alternate.interfaceSubclass,
protocolCode: alternate.interfaceProtocol,
interfaceName: stringToMojoString16(alternate.interfaceName),
- endpoints: []
+ endpoints: [],
+ extraData: new Uint8Array()
};
alternate.endpoints.forEach(endpoint => {
var endpointInfo = {
endpointNumber: endpoint.endpointNumber,
packetSize: endpoint.packetSize,
+ synchronizationType: device.mojom.UsbSynchronizationType.NONE,
+ usageType: device.mojom.UsbUsageType.DATA,
+ pollingInterval: 0,
+ extraData: new Uint8Array()
};
switch (endpoint.direction) {
case "in":
diff --git a/tests/wpt/web-platform-tests/screen-orientation/META.yml b/tests/wpt/web-platform-tests/screen-orientation/META.yml
index dc3f290196f..3ddb3b0507d 100644
--- a/tests/wpt/web-platform-tests/screen-orientation/META.yml
+++ b/tests/wpt/web-platform-tests/screen-orientation/META.yml
@@ -1,4 +1,3 @@
spec: https://w3c.github.io/screen-orientation/
suggested_reviewers:
- - haoxli
- marcoscaceres
diff --git a/tests/wpt/web-platform-tests/screen-orientation/lock-unlock-check.html b/tests/wpt/web-platform-tests/screen-orientation/lock-unlock-check.html
new file mode 100644
index 00000000000..129882d64f6
--- /dev/null
+++ b/tests/wpt/web-platform-tests/screen-orientation/lock-unlock-check.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/resources/testdriver.js"></script>
+<script src="/resources/testdriver-vendor.js"></script>
+<script>
+ import { getOppositeOrientation } from "/screen-orientation/resources/orientation-utils.js";
+ promise_test(async t => {
+ await test_driver.bless("request full screen", () => {
+ return document.documentElement.requestFullscreen();
+ });
+ const newOrientation = getOppositeOrientation();
+ // This will reject, because the event will call lock() again.
+ const pMustReject = screen.orientation.lock(newOrientation);
+ // This one resolves, because we are re-locking.
+ const pMustResolve = new Promise(r => {
+ screen.orientation.onchange = () => {
+ r(orientation.lock("any"));
+ };
+ });
+ await promise_rejects(t, new TypeError(), pMustReject);
+ await pMustResolve;
+ screen.orientation.unlock();
+ return document.exitFullscreen();
+ }, "Re-locking orientation during event dispatch must reject existing orientationPendingPromise");
+</script>
diff --git a/tests/wpt/web-platform-tests/screen-orientation/resources/orientation-utils.js b/tests/wpt/web-platform-tests/screen-orientation/resources/orientation-utils.js
new file mode 100644
index 00000000000..8721818bec2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/screen-orientation/resources/orientation-utils.js
@@ -0,0 +1,17 @@
+export async function loadIframe(src = "/screen-orientation/resources/blank.html") {
+ const iframe = document.createElement("iframe");
+ iframe.src = src;
+ document.body.appendChild(iframe);
+ return new Promise(r => {
+ if (iframe.contentDocument.readyState === "complete") {
+ return r(iframe);
+ }
+ iframe.onload = () => r(iframe);
+ });
+}
+
+export function getOppositeOrientation() {
+ const { type: currentOrientation } = screen.orientation;
+ const isPortrait = currentOrientation.includes("portrait");
+ return (newOrientation = `${isPortrait ? "landscape" : "portrait"}`);
+}
diff --git a/tests/wpt/web-platform-tests/scroll-animations/META.yml b/tests/wpt/web-platform-tests/scroll-animations/META.yml
index 20f3c7e6c93..c53f1f432fe 100644
--- a/tests/wpt/web-platform-tests/scroll-animations/META.yml
+++ b/tests/wpt/web-platform-tests/scroll-animations/META.yml
@@ -1,6 +1,5 @@
spec: https://wicg.github.io/scroll-animations/
suggested_reviewers:
- birtles
- - theres-waldo
- graouts
- stephenmcgruer
diff --git a/tests/wpt/web-platform-tests/selection/Document-open.html b/tests/wpt/web-platform-tests/selection/Document-open.html
index 9d170914e65..9e3cb28124c 100644
--- a/tests/wpt/web-platform-tests/selection/Document-open.html
+++ b/tests/wpt/web-platform-tests/selection/Document-open.html
@@ -6,39 +6,23 @@
<script>
"use strict";
-// This tests the HTML spec requirement "Replace the Document's singleton
-// objects with new instances of those objects. (This includes in particular
-// the Window, Location, History, ApplicationCache, and Navigator, objects, the
-// various BarProp objects, the two Storage objects, the various HTMLCollection
-// objects, and objects defined by other specifications, like Selection and the
-// document's UndoManager. It also includes all the Web IDL prototypes in the
-// JavaScript binding, including the Document object's prototype.)" in the
-// document.open() algorithm.
+const iframe = document.createElement("iframe");
+async_test(t => {
+ iframe.onload = t.step_func_done(() => {
+ const originalSelection = iframe.contentWindow.getSelection();
+ assert_equals(originalSelection.rangeCount, 0, "rangeCount must initially be 0");
+ iframe.contentDocument.body.appendChild(iframe.contentDocument.createTextNode("foo"));
+ const range = iframe.contentDocument.createRange();
+ range.selectNodeContents(iframe.contentDocument.body);
+ iframe.contentWindow.getSelection().addRange(range);
+ assert_equals(originalSelection.rangeCount, 1, "rangeCount must be 1 after adding a range");
-var iframe = document.createElement("iframe");
-var t = async_test("Selection must be replaced with a new object after document.open()");
-iframe.onload = function() {
- t.step(function() {
- var originalSelection = iframe.contentWindow.getSelection();
- assert_equals(originalSelection.rangeCount, 0,
- "Sanity check: rangeCount must be initially 0");
- iframe.contentDocument.body.appendChild(
- iframe.contentDocument.createTextNode("foo"));
- var range = iframe.contentDocument.createRange();
- range.selectNodeContents(iframe.contentDocument.body);
- iframe.contentWindow.getSelection().addRange(range);
- assert_equals(originalSelection.rangeCount, 1,
- "Sanity check: rangeCount must be 1 after adding a range");
+ iframe.contentDocument.open();
- iframe.contentDocument.open();
-
- assert_not_equals(iframe.contentWindow.getSelection(), originalSelection,
- "After document.open(), the Selection object must no longer be the same");
- assert_equals(iframe.contentWindow.getSelection().rangeCount, 0,
- "After document.open(), rangeCount must be 0 again");
- });
- t.done();
+ assert_equals(iframe.contentWindow.getSelection(), originalSelection, "After document.open(), the Selection object must be the same");
+ assert_equals(iframe.contentWindow.getSelection().rangeCount, 1, "After document.open(), rangeCount must still be 1");
document.body.removeChild(iframe);
-};
-document.body.appendChild(iframe);
+ });
+ document.body.appendChild(iframe);
+}, "Selection must not be replaced with a new object after document.open()");
</script>
diff --git a/tests/wpt/web-platform-tests/signed-exchange/resources/generate-test-sxgs.sh b/tests/wpt/web-platform-tests/signed-exchange/resources/generate-test-sxgs.sh
index 60746ff34ca..e76286be991 100755
--- a/tests/wpt/web-platform-tests/signed-exchange/resources/generate-test-sxgs.sh
+++ b/tests/wpt/web-platform-tests/signed-exchange/resources/generate-test-sxgs.sh
@@ -454,4 +454,35 @@ gen-signedexchange \
-o sxg/sxg-navigation-timing.sxg \
-miRecordSize 100
+# A valid Signed Exchange for testing service worker registration.
+gen-signedexchange \
+ -version $sxg_version \
+ -uri $wpt_test_origin/signed-exchange/resources/register-sw-from-sxg.html \
+ -status 200 \
+ -content register-sw.html \
+ -certificate $certfile \
+ -certUrl $cert_url_origin/signed-exchange/resources/$certfile.cbor \
+ -validityUrl $wpt_test_origin/resource.validity.msg \
+ -privateKey $keyfile \
+ -date 2018-04-01T00:00:00Z \
+ -expire 168h \
+ -o sxg/register-sw-from-sxg.sxg \
+ -miRecordSize 100
+
+# An invalid Signed Exchange for testing service worker registration after
+# fallback.
+gen-signedexchange \
+ -version $sxg_version \
+ -uri $wpt_test_origin/signed-exchange/resources/register-sw-after-fallback.html \
+ -status 200 \
+ -content sxg-location.html \
+ -certificate $certfile \
+ -certUrl $cert_url_origin/signed-exchange/resources/not_found_certfile.cbor \
+ -validityUrl $wpt_test_origin/resource.validity.msg \
+ -privateKey $keyfile \
+ -date 2018-04-01T00:00:00Z \
+ -expire 168h \
+ -o sxg/register-sw-after-fallback.sxg \
+ -miRecordSize 100
+
rm -fr $tmpdir
diff --git a/tests/wpt/web-platform-tests/signed-exchange/resources/register-sw-after-fallback.html b/tests/wpt/web-platform-tests/signed-exchange/resources/register-sw-after-fallback.html
new file mode 100644
index 00000000000..2711fc241f3
--- /dev/null
+++ b/tests/wpt/web-platform-tests/signed-exchange/resources/register-sw-after-fallback.html
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<script src="sxg-util.js"></script>
+<script>
+window.addEventListener('message', async (event) => {
+ try {
+ const scope = './scope/' + location.href;
+ await registerServiceWorkerAndWaitUntilActivated(
+ './service-worker.js', scope)
+ const iframe = await withIframe(scope, 'inner_iframe');
+ event.data.port.postMessage({
+ location: document.location.href,
+ is_fallback: true,
+ err: undefined,
+ iframe_body: iframe.contentWindow.document.body.innerHTML});
+ } catch (err) {
+ event.data.port.postMessage({
+ location: document.location.href,
+ is_fallback: true,
+ err: err.toString()
+ });
+ }
+}, false);
+</script>
diff --git a/tests/wpt/web-platform-tests/signed-exchange/resources/register-sw.html b/tests/wpt/web-platform-tests/signed-exchange/resources/register-sw.html
new file mode 100644
index 00000000000..8a3873bfde8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/signed-exchange/resources/register-sw.html
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<script src="sxg-util.js"></script>
+<script>
+window.addEventListener('message', async (event) => {
+ try {
+ const scope = './scope/' + location.href;
+ await registerServiceWorkerAndWaitUntilActivated(
+ './service-worker.js', scope)
+ const iframe = await withIframe(scope, 'inner_iframe');
+ event.data.port.postMessage({
+ location: document.location.href,
+ is_fallback: false,
+ err: undefined,
+ iframe_body: iframe.contentWindow.document.body.innerHTML});
+ } catch (err) {
+ event.data.port.postMessage({
+ location: document.location.href,
+ is_fallback: false,
+ err: err.toString()
+ });
+ }
+}, false);
+</script>
diff --git a/tests/wpt/web-platform-tests/signed-exchange/resources/service-worker.js b/tests/wpt/web-platform-tests/signed-exchange/resources/service-worker.js
new file mode 100644
index 00000000000..2647f45a3ea
--- /dev/null
+++ b/tests/wpt/web-platform-tests/signed-exchange/resources/service-worker.js
@@ -0,0 +1,5 @@
+self.addEventListener('fetch', function(event) {
+ event.respondWith(new Response(
+ '<body>Generated by service worker</body>',
+ {headers:[['content-type', 'text/html']]}));
+});
diff --git a/tests/wpt/web-platform-tests/signed-exchange/resources/sxg-util.js b/tests/wpt/web-platform-tests/signed-exchange/resources/sxg-util.js
index 7abb3cf2079..78edf137408 100644
--- a/tests/wpt/web-platform-tests/signed-exchange/resources/sxg-util.js
+++ b/tests/wpt/web-platform-tests/signed-exchange/resources/sxg-util.js
@@ -72,3 +72,16 @@ function addPrefetch(url) {
link.href = url;
document.body.appendChild(link);
}
+
+async function registerServiceWorkerAndWaitUntilActivated(script, scope) {
+ const reg = await navigator.serviceWorker.register(script, {scope: scope});
+ if (reg.active)
+ return;
+ const worker = reg.installing || reg.waiting;
+ await new Promise((resolve) => {
+ worker.addEventListener('statechange', (event) => {
+ if (event.target.state == 'activated')
+ resolve();
+ });
+ });
+}
diff --git a/tests/wpt/web-platform-tests/signed-exchange/resources/sxg/register-sw-after-fallback.sxg b/tests/wpt/web-platform-tests/signed-exchange/resources/sxg/register-sw-after-fallback.sxg
new file mode 100644
index 00000000000..20ae2758187
--- /dev/null
+++ b/tests/wpt/web-platform-tests/signed-exchange/resources/sxg/register-sw-after-fallback.sxg
Binary files differ
diff --git a/tests/wpt/web-platform-tests/signed-exchange/resources/sxg/register-sw-from-sxg.sxg b/tests/wpt/web-platform-tests/signed-exchange/resources/sxg/register-sw-from-sxg.sxg
new file mode 100644
index 00000000000..792222029f1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/signed-exchange/resources/sxg/register-sw-from-sxg.sxg
Binary files differ
diff --git a/tests/wpt/web-platform-tests/signed-exchange/service-workers/sxg-sw-register-after-fallback.tentative.https.html b/tests/wpt/web-platform-tests/signed-exchange/service-workers/sxg-sw-register-after-fallback.tentative.https.html
new file mode 100644
index 00000000000..2b76a70dc9f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/signed-exchange/service-workers/sxg-sw-register-after-fallback.tentative.https.html
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<title>Service worker registration after fallback</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/common/get-host-info.sub.js"></script>
+<script src="../resources/sxg-util.js"></script>
+<body>
+<script>
+promise_test(async (t) => {
+ const sxgUrl =
+ get_host_info().HTTPS_ORIGIN +
+ '/signed-exchange/resources/sxg/register-sw-after-fallback.sxg';
+ const message = await openSXGInIframeAndWaitForMessage(t, sxgUrl);
+ assert_equals(message.location,
+ get_host_info().HTTPS_ORIGIN +
+ '/signed-exchange/resources/register-sw-after-fallback.html');
+ assert_true(message.is_fallback);
+
+ assert_equals(message.err, undefined);
+ assert_equals(message.iframe_body, 'Generated by service worker');
+}, 'Service worker registration after fallback');
+</script>
+</body>
diff --git a/tests/wpt/web-platform-tests/signed-exchange/service-workers/sxg-sw-register.tentative.https.html b/tests/wpt/web-platform-tests/signed-exchange/service-workers/sxg-sw-register.tentative.https.html
new file mode 100644
index 00000000000..ad21ebb20d4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/signed-exchange/service-workers/sxg-sw-register.tentative.https.html
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<title>Service worker registration from signed exchange</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/common/get-host-info.sub.js"></script>
+<script src="../resources/sxg-util.js"></script>
+<body>
+<script>
+promise_test(async (t) => {
+ const sxgUrl =
+ get_host_info().HTTPS_ORIGIN +
+ '/signed-exchange/resources/sxg/register-sw-from-sxg.sxg';
+ const message = await openSXGInIframeAndWaitForMessage(t, sxgUrl);
+ assert_equals(message.location,
+ get_host_info().HTTPS_ORIGIN +
+ '/signed-exchange/resources/register-sw-from-sxg.html');
+ assert_false(message.is_fallback);
+
+ assert_equals(message.err, undefined);
+ assert_equals(message.iframe_body, 'Generated by service worker');
+}, 'Service worker registration from signed exchange');
+</script>
+</body>
diff --git a/tests/wpt/web-platform-tests/speech-api/META.yml b/tests/wpt/web-platform-tests/speech-api/META.yml
index 4d1b42a44d2..9ce8830e78f 100644
--- a/tests/wpt/web-platform-tests/speech-api/META.yml
+++ b/tests/wpt/web-platform-tests/speech-api/META.yml
@@ -1,4 +1,3 @@
spec: https://w3c.github.io/speech-api/
suggested_reviewers:
- foolip
- - gshires
diff --git a/tests/wpt/web-platform-tests/streams/META.yml b/tests/wpt/web-platform-tests/streams/META.yml
index 108c774fae6..1259a55cb5a 100644
--- a/tests/wpt/web-platform-tests/streams/META.yml
+++ b/tests/wpt/web-platform-tests/streams/META.yml
@@ -3,6 +3,5 @@ suggested_reviewers:
- domenic
- yutakahirano
- youennf
- - calvaris
- wanderview
- ricea
diff --git a/tests/wpt/web-platform-tests/subresource-integrity/META.yml b/tests/wpt/web-platform-tests/subresource-integrity/META.yml
index 2b8891ec6b4..f6980682f11 100644
--- a/tests/wpt/web-platform-tests/subresource-integrity/META.yml
+++ b/tests/wpt/web-platform-tests/subresource-integrity/META.yml
@@ -1,6 +1,5 @@
spec: https://w3c.github.io/webappsec-subresource-integrity/
suggested_reviewers:
- metromoxie
- - jonathanKingston
- mikewest
- hillbrad
diff --git a/tests/wpt/web-platform-tests/svg/META.yml b/tests/wpt/web-platform-tests/svg/META.yml
index 09ef583b72d..2904d6f606b 100644
--- a/tests/wpt/web-platform-tests/svg/META.yml
+++ b/tests/wpt/web-platform-tests/svg/META.yml
@@ -1,6 +1,5 @@
spec: https://svgwg.org/svg2-draft/
suggested_reviewers:
- - heycam
- nikosandronikos
- boggydigital
- ewilligers
diff --git a/tests/wpt/web-platform-tests/tools/wpt/run.py b/tests/wpt/web-platform-tests/tools/wpt/run.py
index df34e591568..a19851d14c5 100644
--- a/tests/wpt/web-platform-tests/tools/wpt/run.py
+++ b/tests/wpt/web-platform-tests/tools/wpt/run.py
@@ -277,8 +277,6 @@ class Chrome(BrowserSetup):
if kwargs["browser_channel"] == "dev":
logger.info("Automatically turning on experimental features for Chrome Dev")
kwargs["binary_args"].append("--enable-experimental-web-platform-features")
- # TODO(foolip): remove after unified plan is enabled on Chrome stable
- kwargs["binary_args"].append("--enable-features=RTCUnifiedPlanByDefault")
# Allow audio autoplay without a user gesture.
kwargs["binary_args"].append("--autoplay-policy=no-user-gesture-required")
diff --git a/tests/wpt/web-platform-tests/tools/wpt/virtualenv.py b/tests/wpt/web-platform-tests/tools/wpt/virtualenv.py
index 61de936b767..357ddcbefce 100644
--- a/tests/wpt/web-platform-tests/tools/wpt/virtualenv.py
+++ b/tests/wpt/web-platform-tests/tools/wpt/virtualenv.py
@@ -4,6 +4,8 @@ import sys
import logging
from distutils.spawn import find_executable
+import pkg_resources
+
from tools.wpt.utils import call
logger = logging.getLogger(__name__)
@@ -16,6 +18,7 @@ class Virtualenv(object):
self.virtualenv = find_executable("virtualenv")
if not self.virtualenv:
raise ValueError("virtualenv must be installed and on the PATH")
+ self._working_set = None
@property
def exists(self):
@@ -24,6 +27,7 @@ class Virtualenv(object):
def create(self):
if os.path.exists(self.path):
shutil.rmtree(self.path)
+ self._working_set = None
call(self.virtualenv, self.path, "-p", sys.executable)
@property
@@ -39,6 +43,22 @@ class Virtualenv(object):
raise ValueError("pip not found")
return path
+ @property
+ def lib_path(self):
+ if sys.platform == 'win32':
+ return os.path.join(self.path, 'Lib', 'site-packages')
+ return os.path.join(self.path, 'lib', 'python%s' % sys.version[:3], 'site-packages')
+
+ @property
+ def working_set(self):
+ if not self.exists:
+ raise ValueError("trying to read working_set when venv doesn't exist")
+
+ if self._working_set is None:
+ self._working_set = pkg_resources.WorkingSet((self.lib_path,))
+
+ return self._working_set
+
def activate(self):
path = os.path.join(self.bin_path, "activate_this.py")
execfile(path, {"__file__": path}) # noqa: F821
@@ -49,11 +69,26 @@ class Virtualenv(object):
self.activate()
def install(self, *requirements):
+ try:
+ self.working_set.require(*requirements)
+ except pkg_resources.ResolutionError:
+ pass
+ else:
+ return
+
# `--prefer-binary` guards against race conditions when installation
# occurs while packages are in the process of being published.
call(self.pip_path, "install", "--prefer-binary", *requirements)
def install_requirements(self, requirements_path):
+ with open(requirements_path) as f:
+ try:
+ self.working_set.require(f.read())
+ except pkg_resources.ResolutionError:
+ pass
+ else:
+ return
+
# `--prefer-binary` guards against race conditions when installation
# occurs while packages are in the process of being published.
call(
diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/requirements.txt b/tests/wpt/web-platform-tests/tools/wptrunner/requirements.txt
index 6216fb6708d..f17b12b3ddd 100644
--- a/tests/wpt/web-platform-tests/tools/wptrunner/requirements.txt
+++ b/tests/wpt/web-platform-tests/tools/wptrunner/requirements.txt
@@ -2,6 +2,6 @@ html5lib==1.0.1
mozinfo==0.10
mozlog==4.0
mozdebug==0.1.1
-pillow==5.2.0
+pillow==5.4.1
urllib3[secure]==1.24.1
requests==2.21.0
diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/requirements_firefox.txt b/tests/wpt/web-platform-tests/tools/wptrunner/requirements_firefox.txt
index ee84d840f81..668cea39154 100644
--- a/tests/wpt/web-platform-tests/tools/wptrunner/requirements_firefox.txt
+++ b/tests/wpt/web-platform-tests/tools/wptrunner/requirements_firefox.txt
@@ -1,4 +1,4 @@
-marionette_driver==2.7.0
+marionette_driver==2.8.0
mozprofile==2.2.0
mozprocess==1.0.0
mozcrash==1.1.0
diff --git a/tests/wpt/web-platform-tests/url/META.yml b/tests/wpt/web-platform-tests/url/META.yml
index 3a789a0d513..094b266b64b 100644
--- a/tests/wpt/web-platform-tests/url/META.yml
+++ b/tests/wpt/web-platform-tests/url/META.yml
@@ -2,7 +2,6 @@ spec: https://url.spec.whatwg.org/
suggested_reviewers:
- mikewest
- domenic
- - Sebmaster
- annevk
- GPHemsley
- TimothyGu
diff --git a/tests/wpt/web-platform-tests/vibration/META.yml b/tests/wpt/web-platform-tests/vibration/META.yml
index 016588931f9..91cd8c9d805 100644
--- a/tests/wpt/web-platform-tests/vibration/META.yml
+++ b/tests/wpt/web-platform-tests/vibration/META.yml
@@ -1,4 +1,3 @@
spec: https://w3c.github.io/vibration/
suggested_reviewers:
- - dontcallmedom
- zqzhang
diff --git a/tests/wpt/web-platform-tests/wake-lock/META.yml b/tests/wpt/web-platform-tests/wake-lock/META.yml
index a5ff85281f8..7ca3da2d8d2 100644
--- a/tests/wpt/web-platform-tests/wake-lock/META.yml
+++ b/tests/wpt/web-platform-tests/wake-lock/META.yml
@@ -1,5 +1,4 @@
spec: https://w3c.github.io/wake-lock/
suggested_reviewers:
- - andrey-logvinov
- marcoscaceres
- Honry
diff --git a/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-mediaelementaudiosourcenode-interface/mediaElementAudioSourceToScriptProcessorTest.html b/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-mediaelementaudiosourcenode-interface/mediaElementAudioSourceToScriptProcessorTest.html
index 2c1162d47b9..3e364eb7b35 100644
--- a/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-mediaelementaudiosourcenode-interface/mediaElementAudioSourceToScriptProcessorTest.html
+++ b/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-mediaelementaudiosourcenode-interface/mediaElementAudioSourceToScriptProcessorTest.html
@@ -51,8 +51,10 @@ Somewhat similiar to a test from Mozilla:
return result;
}
- // Create Audio context
- context = new AudioContext();
+ // Create Audio context. The reference wav file is sampled at 44.1 kHz so
+ // use the same rate for the context to remove extra resampling that might
+ // be required.
+ context = new AudioContext({sampleRate: 44100});
// Create an audio element, and a media element source
audio = document.createElement('audio');
diff --git a/tests/wpt/web-platform-tests/webmessaging/META.yml b/tests/wpt/web-platform-tests/webmessaging/META.yml
index e70b780b57a..95d5071171b 100644
--- a/tests/wpt/web-platform-tests/webmessaging/META.yml
+++ b/tests/wpt/web-platform-tests/webmessaging/META.yml
@@ -1,7 +1,6 @@
spec: https://html.spec.whatwg.org/multipage/web-messaging.html
suggested_reviewers:
- zqzhang
- - aogilvie
- jdm
- mkruisselbrink
- annevk
diff --git a/tests/wpt/web-platform-tests/webrtc/META.yml b/tests/wpt/web-platform-tests/webrtc/META.yml
index 2025a11f381..eed4ac83431 100644
--- a/tests/wpt/web-platform-tests/webrtc/META.yml
+++ b/tests/wpt/web-platform-tests/webrtc/META.yml
@@ -3,10 +3,8 @@ suggested_reviewers:
- snuggs
- agouaillard
- alvestrand
- - dontcallmedom
- guidou
- henbos
- - phoglund
- youennf
- rwaldron
- jan-ivar
diff --git a/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-getStats.https.html b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-getStats.https.html
index 247402b83be..c2c4e8e3717 100644
--- a/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-getStats.https.html
+++ b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-getStats.https.html
@@ -173,19 +173,18 @@
- All stats objects referenced directly or indirectly by the RTCOutboundRTPStreamStats
objects added.
*/
- promise_test(t => {
- const pc = new RTCPeerConnection();
- t.add_cleanup(() => pc.close());
- return getTrackFromUserMedia('audio')
- .then(([track, mediaStream]) => {
- pc.addTrack(track, mediaStream);
-
- return pc.getStats(track)
- .then(statsReport => {
- validateStatsReport(statsReport);
- assert_stats_report_has_stats(statsReport, ['outbound-rtp']);
- });
- });
+ promise_test(async t => {
+ const pc = createPeerConnectionWithCleanup(t);
+ const pc2 = createPeerConnectionWithCleanup(t);
+
+ let [track, mediaStream] = await getTrackFromUserMedia('audio');
+ pc.addTrack(track, mediaStream);
+ exchangeIceCandidates(pc, pc2);
+ await doSignalingHandshake(pc, pc2);
+ await listenToIceConnected(pc);
+ const stats = await pc.getStats(track);
+ validateStatsReport(stats);
+ assert_stats_report_has_stats(stats, ['outbound-rtp']);
}, `getStats() on track associated with RtpSender should return stats report containing outbound-rtp stats`);
@@ -197,16 +196,20 @@
- All stats objects referenced directly or indirectly by the RTCInboundRTPStreamStats
added.
*/
- promise_test(t => {
- const pc = new RTCPeerConnection();
- t.add_cleanup(() => pc.close());
- const transceiver = pc.addTransceiver('audio');
-
- return pc.getStats(transceiver.receiver.track)
- .then(statsReport => {
- validateStatsReport(statsReport);
- assert_stats_report_has_stats(statsReport, ['inbound-rtp']);
+ promise_test(async t => {
+ const pc = createPeerConnectionWithCleanup(t);
+ const pc2 = createPeerConnectionWithCleanup(t);
+
+ let [track, mediaStream] = await getTrackFromUserMedia('audio');
+ pc.addTrack(track, mediaStream);
+ exchangeIceCandidates(pc, pc2);
+ await doSignalingHandshake(pc, pc2);
+ await new Promise(resolve => {
+ pc2.getReceivers()[0].track.addEventListener('unmute', resolve);
});
+ const stats = await pc2.getStats(track);
+ validateStatsReport(stats);
+ assert_stats_report_has_stats(stats, ['inbound-rtp']);
}, `getStats() on track associated with RtpReceiver should return stats report containing inbound-rtp stats`);
/*
diff --git a/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-onnegotiationneeded.html b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-onnegotiationneeded.html
index ac9d70c43ef..f7bf8bd3e3b 100644
--- a/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-onnegotiationneeded.html
+++ b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-onnegotiationneeded.html
@@ -187,22 +187,21 @@
2. If connection's [[NegotiationNeeded]] slot is false, abort these steps.
3. Fire a simple event named negotiationneeded at connection.
*/
- promise_test(t => {
+ promise_test(async t => {
const pc = new RTCPeerConnection();
t.add_cleanup(() => pc.close());
- return assert_first_promise_fulfill_after_second(
- awaitNegotiation(pc),
- generateAudioReceiveOnlyOffer(pc)
- .then(offer =>
- pc.setLocalDescription(offer)
- .then(() => {
- pc.createDataChannel('test');
- return generateAnswer(offer);
- }))
- .then(answer => pc.setRemoteDescription(answer)),
- 'Expect negotiationneeded promise to resolve after pc has set remote answer and go back to stable state');
+ pc.addTransceiver('audio');
+ const offer = await pc.createOffer();
+ await pc.setLocalDescription(offer);
+ let fired = false;
+ pc.onnegotiationneeded = e => fired = true;
+ pc.createDataChannel('test');
+ const answer = await generateAnswer(offer);
+ await pc.setRemoteDescription(answer);
+ assert_false(fired, "negotiationneeded should not fire until the next iteration of the event loop after returning to stable");
+ await new Promise(resolve => pc.onnegotiationneeded = resolve);
}, 'negotiationneeded event should fire only after signaling state go back to stable');
/*
diff --git a/tests/wpt/web-platform-tests/webstorage/META.yml b/tests/wpt/web-platform-tests/webstorage/META.yml
index 0da67a586b8..020075c3f24 100644
--- a/tests/wpt/web-platform-tests/webstorage/META.yml
+++ b/tests/wpt/web-platform-tests/webstorage/META.yml
@@ -3,5 +3,4 @@ suggested_reviewers:
- siusin
- inexorabletash
- zqzhang
- - ibelem
- jdm
diff --git a/tests/wpt/web-platform-tests/webxr/META.yml b/tests/wpt/web-platform-tests/webxr/META.yml
index b5e3e65a12c..520afec2000 100644
--- a/tests/wpt/web-platform-tests/webxr/META.yml
+++ b/tests/wpt/web-platform-tests/webxr/META.yml
@@ -1,5 +1,3 @@
spec: https://immersive-web.github.io/webxr/spec/latest/
suggested_reviewers:
- - toji
- - paezagon
- klausw
diff --git a/tests/wpt/web-platform-tests/webxr/resources/webxr_math_utils.js b/tests/wpt/web-platform-tests/webxr/resources/webxr_math_utils.js
new file mode 100644
index 00000000000..bb55fb72978
--- /dev/null
+++ b/tests/wpt/web-platform-tests/webxr/resources/webxr_math_utils.js
@@ -0,0 +1,61 @@
+// |matrix| - Float32Array, |input| - point-like dict (must have x, y, z, w)
+let transform_point_by_matrix = function(matrix, input) {
+ return {
+ x : matrix[0] * input.x + matrix[4] * input.y + matrix[8] * input.z + matrix[12] * input.w,
+ y : matrix[1] * input.x + matrix[5] * input.y + matrix[9] * input.z + matrix[13] * input.w,
+ z : matrix[2] * input.x + matrix[6] * input.y + matrix[10] * input.z + matrix[14] * input.w,
+ w : matrix[3] * input.x + matrix[7] * input.y + matrix[11] * input.z + matrix[15] * input.w,
+ };
+}
+
+// Creates a unit-length quaternion.
+// |input| - point-like dict (must have x, y, z, w)
+let normalize_quaternion = function(input) {
+ const length_squared = input.x * input.x + input.y * input.y + input.z * input.z + input.w * input.w;
+ const length = Math.sqrt(length_squared);
+
+ return {x : input.x / length, y : input.y / length, z : input.z / length, w : input.w / length};
+}
+
+// |input| - point-like dict (must have x, y, z, w)
+let conjugate_quaternion = function(input) {
+ return {x : -input.x, y : -input.y, z : -input.z, w : input.w};
+}
+
+let multiply_quaternions = function(q1, q2) {
+ return {
+ w : q1.w * q2.w - q1.x * q2.x - q1.y * q2.y - q1.z * q2.z,
+ x : q1.w * q2.x + q1.x * q2.w + q1.y * q2.z - q1.z * q2.y,
+ y : q1.w * q2.y - q1.x * q2.z + q1.y * q2.w + q1.z * q2.x,
+ z : q1.w * q2.z + q1.x * q2.y - q1.y * q2.x + q1.z * q2.w,
+ }
+}
+
+// |point| - point-like dict (must have x, y, z, w)
+let normalize_perspective = function(point) {
+ if(point.w == 0 || point.w == 1) return point;
+
+ return {
+ x : point.x / point.w,
+ y : point.y / point.w,
+ z : point.z / point.w,
+ w : 1
+ };
+}
+
+// |quaternion| - point-like dict (must have x, y, z, w),
+// |input| - point-like dict (must have x, y, z, w)
+let transform_point_by_quaternion = function(quaternion, input) {
+ const q_normalized = normalize_quaternion(quaternion);
+ const q_conj = conjugate_quaternion(q_normalized);
+ const p_in = normalize_perspective(input);
+
+ // construct a quaternion out of the point (take xyz & zero the real part).
+ const p = {x : p_in.x, y : p_in.y, z : p_in.z, w : 0};
+
+ // transform the input point
+ const p_mul = multiply_quaternions( q_normalized, multiply_quaternions(p, q_conj) );
+
+ // add back the w component of the input
+ return { x : p_mul.x, y : p_mul.y, z : p_mul.z, w : p_in.w };
+}
diff --git a/tests/wpt/web-platform-tests/webxr/xrRay_matrix.https.html b/tests/wpt/web-platform-tests/webxr/xrRay_matrix.https.html
index 3c9cea0849f..85d7bffb87b 100644
--- a/tests/wpt/web-platform-tests/webxr/xrRay_matrix.https.html
+++ b/tests/wpt/web-platform-tests/webxr/xrRay_matrix.https.html
@@ -3,31 +3,10 @@
<script src="/resources/testharnessreport.js"></script>
<script src="resources/webxr_test_constants.js"></script>
<script src="resources/webxr_test_asserts.js"></script>
+<script src="resources/webxr_math_utils.js"></script>
<script>
-// |matrix| - Float32Array, |input| - point-like dict (must have x, y, z, w)
-let transform_point = function (matrix, input) {
- return {
- x : matrix[0] * input.x + matrix[4] * input.y + matrix[8] * input.z + matrix[12] * input.w,
- y : matrix[1] * input.x + matrix[5] * input.y + matrix[9] * input.z + matrix[13] * input.w,
- z : matrix[2] * input.x + matrix[6] * input.y + matrix[10] * input.z + matrix[14] * input.w,
- w : matrix[3] * input.x + matrix[7] * input.y + matrix[11] * input.z + matrix[15] * input.w,
- };
-}
-
-// |point| - point-like dict (must have x, y, z, w)
-let normalize_perspective = function(point) {
- if(point.w == 0 || point.w == 1) return point;
-
- return {
- x : point.x / point.w,
- y : point.y / point.w,
- z : point.z / point.w,
- w : 1
- };
-}
-
let matrix_tests_name = "XRRay matrix works";
let matrix_tests = function() {
@@ -46,8 +25,8 @@ let matrix_tests = function() {
DOMPoint.fromPoint(originDict),
DOMPoint.fromPoint(directionDict));
- let transformedOrigin = normalize_perspective(transform_point(xrRay.matrix, initialOrigin));
- let transformedDirection = normalize_perspective(transform_point(xrRay.matrix, initialDirection));
+ let transformedOrigin = normalize_perspective(transform_point_by_matrix(xrRay.matrix, initialOrigin));
+ let transformedDirection = normalize_perspective(transform_point_by_matrix(xrRay.matrix, initialDirection));
assert_point_approx_equals(
originDict, transformedOrigin,
@@ -66,8 +45,8 @@ let matrix_tests = function() {
DOMPoint.fromPoint(originDict),
DOMPoint.fromPoint(directionDict));
- let transformedOrigin = normalize_perspective(transform_point(xrRay.matrix, initialOrigin));
- let transformedDirection = normalize_perspective(transform_point(xrRay.matrix, initialDirection));
+ let transformedOrigin = normalize_perspective(transform_point_by_matrix(xrRay.matrix, initialOrigin));
+ let transformedDirection = normalize_perspective(transform_point_by_matrix(xrRay.matrix, initialDirection));
assert_point_approx_equals(
originDict, transformedOrigin,
@@ -86,8 +65,8 @@ let matrix_tests = function() {
DOMPoint.fromPoint(originDict),
DOMPoint.fromPoint(directionDict));
- let transformedOrigin = normalize_perspective(transform_point(xrRay.matrix, initialOrigin));
- let transformedDirection = normalize_perspective(transform_point(xrRay.matrix, initialDirection));
+ let transformedOrigin = normalize_perspective(transform_point_by_matrix(xrRay.matrix, initialOrigin));
+ let transformedDirection = normalize_perspective(transform_point_by_matrix(xrRay.matrix, initialDirection));
assert_point_approx_equals(
originDict, transformedOrigin,
@@ -106,8 +85,8 @@ let matrix_tests = function() {
DOMPoint.fromPoint(originDict),
DOMPoint.fromPoint(directionDict));
- let transformedOrigin = normalize_perspective(transform_point(xrRay.matrix, initialOrigin));
- let transformedDirection = normalize_perspective(transform_point(xrRay.matrix, initialDirection));
+ let transformedOrigin = normalize_perspective(transform_point_by_matrix(xrRay.matrix, initialOrigin));
+ let transformedDirection = normalize_perspective(transform_point_by_matrix(xrRay.matrix, initialDirection));
assert_point_approx_equals(
originDict, transformedOrigin,
diff --git a/tests/wpt/web-platform-tests/webxr/xrRigidTransform_matrix.https.html b/tests/wpt/web-platform-tests/webxr/xrRigidTransform_matrix.https.html
new file mode 100644
index 00000000000..21236c73246
--- /dev/null
+++ b/tests/wpt/web-platform-tests/webxr/xrRigidTransform_matrix.https.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="resources/webxr_test_constants.js"></script>
+<script src="resources/webxr_test_asserts.js"></script>
+<script src="resources/webxr_math_utils.js"></script>
+
+<script>
+
+let matrix_tests_name = "XRRigidTransform matrix works";
+
+let matrix_tests = function() {
+ // Matrix tests for XRRigidTransform.
+
+ // Test 1. Check if matrix rotates the vector the same way as quaternion
+ // used to construct it. This does not perform a translation.
+ {
+ // point
+ const originDict = {x : 0, y : 0, z : 0, w : 1};
+ // quaternion - should be normalized
+ const orientationDict = {x : 0, y : 0.3805356, z : 0.7610712, w : 0.525322 }
+
+ let rigidTransform = new XRRigidTransform(
+ DOMPoint.fromPoint(originDict),
+ DOMPoint.fromPoint(orientationDict));
+
+ const point_0 = {x : 10, y : 11, z : 12, w : 1};
+
+ // transform the point by matrix from rigid transform
+ const point_transformed_0 = normalize_perspective(transform_point_by_matrix(rigidTransform.matrix, point_0));
+ const point_transformed_1 = transform_point_by_quaternion(orientationDict, point_0);
+ const point_transformed_2 = transform_point_by_quaternion(rigidTransform.orientation, point_0);
+
+ assert_point_approx_equals(
+ point_transformed_1, point_transformed_0,
+ FLOAT_EPSILON, "by-initial-quaternion-and-matrix:");
+
+ assert_point_approx_equals(
+ point_transformed_2, point_transformed_0,
+ FLOAT_EPSILON, "by-transform's-quaternion-and-matrix:");
+ }
+};
+
+test(matrix_tests, matrix_tests_name);
+
+</script>
diff --git a/tests/wpt/web-platform-tests/xhr/META.yml b/tests/wpt/web-platform-tests/xhr/META.yml
index 4b2ecf39bf3..c343ceac437 100644
--- a/tests/wpt/web-platform-tests/xhr/META.yml
+++ b/tests/wpt/web-platform-tests/xhr/META.yml
@@ -2,9 +2,6 @@ spec: https://xhr.spec.whatwg.org/
suggested_reviewers:
- caitp
- Manishearth
- - jungkees
- - ibelem
- - mathiasbynens
- jdm
- annevk
- wisniewskit