aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbors-servo <lbergstrom+bors@mozilla.com>2019-04-05 07:49:09 -0400
committerGitHub <noreply@github.com>2019-04-05 07:49:09 -0400
commit5defd51ba7ffa76dda9c6ab3bca7104eb968df07 (patch)
tree65da2b663f5005a2e2992ab9dc9d9fc89fa7f71b
parentf142b1d1c75e36f83df0aad9cbdcec96a2c8c021 (diff)
parent2575230dce1d7868541323ed1e8411c80bd3e831 (diff)
downloadservo-5defd51ba7ffa76dda9c6ab3bca7104eb968df07.tar.gz
servo-5defd51ba7ffa76dda9c6ab3bca7104eb968df07.zip
Auto merge of #23165 - servo-wpt-sync:wpt_update_05-04-2019, r=jdm
Sync WPT with upstream (05-04-2019) Automated downstream sync of changes from upstream as of 05-04-2019. [no-wpt-sync] <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/23165) <!-- Reviewable:end -->
-rw-r--r--tests/wpt/metadata/MANIFEST.json536
-rw-r--r--tests/wpt/metadata/css/cssom-view/elementsFromPoint-iframes.html.ini2
-rw-r--r--tests/wpt/metadata/fetch/content-type/response.window.js.ini39
-rw-r--r--tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini4
-rw-r--r--tests/wpt/metadata/html/semantics/embedded-content/media-elements/playing-the-media-resource/loop-from-ended.tentative.html.ini3
-rw-r--r--tests/wpt/metadata/html/semantics/embedded-content/the-img-element/non-active-document.html.ini10
-rw-r--r--tests/wpt/metadata/html/semantics/interactive-elements/the-details-element/toggleEvent.html.ini7
-rw-r--r--tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini1
-rw-r--r--tests/wpt/mozilla/meta/css/transition_calc_implicit.html.ini2
-rw-r--r--tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-001-manual.html (renamed from tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-001.html)0
-rw-r--r--tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-002-manual.html (renamed from tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-002.html)0
-rw-r--r--tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-003-manual.html (renamed from tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-003.html)0
-rw-r--r--tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-004-manual.html (renamed from tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-004.html)0
-rw-r--r--tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-040-manual.html (renamed from tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-040.html)0
-rw-r--r--tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-040a-manual.html (renamed from tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-040a.html)0
-rw-r--r--tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-041-manual.html (renamed from tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-041.html)0
-rw-r--r--tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-044-manual.html (renamed from tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-044.html)0
-rw-r--r--tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-045-manual.html (renamed from tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-045.html)0
-rw-r--r--tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-046a-manual.html (renamed from tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-046a.html)0
-rw-r--r--tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-048-manual.html (renamed from tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-048.html)0
-rw-r--r--tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-048a-manual.html (renamed from tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-048a.html)0
-rw-r--r--tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-049-manual.html (renamed from tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-049.html)0
-rw-r--r--tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-082-manual.html (renamed from tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-082.html)0
-rw-r--r--tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-085-manual.html (renamed from tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-085.html)0
-rw-r--r--tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-090-manual.html (renamed from tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-090.html)0
-rw-r--r--tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-090a-manual.html (renamed from tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-090a.html)0
-rw-r--r--tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-091-manual.html (renamed from tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-091.html)0
-rw-r--r--tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-091a-manual.html (renamed from tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-091a.html)0
-rw-r--r--tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-092-manual.html (renamed from tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-092.html)0
-rw-r--r--tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-092a-manual.html (renamed from tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-092a.html)0
-rw-r--r--tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-095a-manual.html (renamed from tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-095a.html)0
-rw-r--r--tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-096-manual.html (renamed from tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-096.html)0
-rw-r--r--tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-096a-manual.html (renamed from tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-096a.html)0
-rw-r--r--tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-097-manual.html (renamed from tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-097.html)0
-rw-r--r--tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-097a-manual.html (renamed from tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-097a.html)0
-rw-r--r--tests/wpt/web-platform-tests/css/css-transforms/transform3d-scale-001-notref.html3
-rw-r--r--tests/wpt/web-platform-tests/css/css-transforms/transform3d-scale-001-ref.html3
-rw-r--r--tests/wpt/web-platform-tests/css/css-transforms/transform3d-scale-001.html3
-rw-r--r--tests/wpt/web-platform-tests/css/css-transforms/transform3d-scale-002.html3
-rw-r--r--tests/wpt/web-platform-tests/css/css-transforms/transform3d-scale-003.html3
-rw-r--r--tests/wpt/web-platform-tests/css/css-transforms/transform3d-scale-004.html3
-rw-r--r--tests/wpt/web-platform-tests/css/css-transforms/transform3d-scale-005-ref.html3
-rw-r--r--tests/wpt/web-platform-tests/css/css-transforms/transform3d-scale-005.html3
-rw-r--r--tests/wpt/web-platform-tests/css/css-transforms/transform3d-scale-006.html3
-rw-r--r--tests/wpt/web-platform-tests/css/css-transforms/transform3d-scale-007-ref.html3
-rw-r--r--tests/wpt/web-platform-tests/css/css-transforms/transform3d-scale-007.html3
-rw-r--r--tests/wpt/web-platform-tests/element-timing/background-image-multiple-elements.html74
-rw-r--r--tests/wpt/web-platform-tests/element-timing/background-image-stretched.html39
-rw-r--r--tests/wpt/web-platform-tests/element-timing/multiple-background-images.html57
-rw-r--r--tests/wpt/web-platform-tests/element-timing/observe-background-image.html37
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/playing-the-media-resource/loop-from-ended.tentative.html4
-rw-r--r--tests/wpt/web-platform-tests/interfaces/webrtc-stats.idl2
-rw-r--r--tests/wpt/web-platform-tests/payment-request/payment-response/payerdetailschange-updateWith-immediate-manual.https.html68
-rw-r--r--tests/wpt/web-platform-tests/portals/portals-post-message.sub.html108
-rw-r--r--tests/wpt/web-platform-tests/portals/resources/portal-post-message-cross-origin-portal.sub.html8
-rw-r--r--tests/wpt/web-platform-tests/portals/resources/portal-post-message-portal.html21
-rw-r--r--tests/wpt/web-platform-tests/svg/extensibility/foreignObject/compositing-backface-visibility-ref.html8
-rw-r--r--tests/wpt/web-platform-tests/svg/extensibility/foreignObject/compositing-backface-visibility.html13
-rw-r--r--tests/wpt/web-platform-tests/web-nfc/NFCWriter_push.https.html71
-rw-r--r--tests/wpt/web-platform-tests/web-nfc/NFCWriter_push_signal-manual.https.html45
60 files changed, 924 insertions, 268 deletions
diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json
index 3ba00c74978..df93c43600a 100644
--- a/tests/wpt/metadata/MANIFEST.json
+++ b/tests/wpt/metadata/MANIFEST.json
@@ -8617,6 +8617,162 @@
{}
]
],
+ "css/css-text-decor/text-decoration-001-manual.html": [
+ [
+ "css/css-text-decor/text-decoration-001-manual.html",
+ {}
+ ]
+ ],
+ "css/css-text-decor/text-decoration-002-manual.html": [
+ [
+ "css/css-text-decor/text-decoration-002-manual.html",
+ {}
+ ]
+ ],
+ "css/css-text-decor/text-decoration-003-manual.html": [
+ [
+ "css/css-text-decor/text-decoration-003-manual.html",
+ {}
+ ]
+ ],
+ "css/css-text-decor/text-decoration-004-manual.html": [
+ [
+ "css/css-text-decor/text-decoration-004-manual.html",
+ {}
+ ]
+ ],
+ "css/css-text-decor/text-decoration-040-manual.html": [
+ [
+ "css/css-text-decor/text-decoration-040-manual.html",
+ {}
+ ]
+ ],
+ "css/css-text-decor/text-decoration-040a-manual.html": [
+ [
+ "css/css-text-decor/text-decoration-040a-manual.html",
+ {}
+ ]
+ ],
+ "css/css-text-decor/text-decoration-041-manual.html": [
+ [
+ "css/css-text-decor/text-decoration-041-manual.html",
+ {}
+ ]
+ ],
+ "css/css-text-decor/text-decoration-044-manual.html": [
+ [
+ "css/css-text-decor/text-decoration-044-manual.html",
+ {}
+ ]
+ ],
+ "css/css-text-decor/text-decoration-045-manual.html": [
+ [
+ "css/css-text-decor/text-decoration-045-manual.html",
+ {}
+ ]
+ ],
+ "css/css-text-decor/text-decoration-046a-manual.html": [
+ [
+ "css/css-text-decor/text-decoration-046a-manual.html",
+ {}
+ ]
+ ],
+ "css/css-text-decor/text-decoration-048-manual.html": [
+ [
+ "css/css-text-decor/text-decoration-048-manual.html",
+ {}
+ ]
+ ],
+ "css/css-text-decor/text-decoration-048a-manual.html": [
+ [
+ "css/css-text-decor/text-decoration-048a-manual.html",
+ {}
+ ]
+ ],
+ "css/css-text-decor/text-decoration-049-manual.html": [
+ [
+ "css/css-text-decor/text-decoration-049-manual.html",
+ {}
+ ]
+ ],
+ "css/css-text-decor/text-decoration-082-manual.html": [
+ [
+ "css/css-text-decor/text-decoration-082-manual.html",
+ {}
+ ]
+ ],
+ "css/css-text-decor/text-decoration-085-manual.html": [
+ [
+ "css/css-text-decor/text-decoration-085-manual.html",
+ {}
+ ]
+ ],
+ "css/css-text-decor/text-decoration-090-manual.html": [
+ [
+ "css/css-text-decor/text-decoration-090-manual.html",
+ {}
+ ]
+ ],
+ "css/css-text-decor/text-decoration-090a-manual.html": [
+ [
+ "css/css-text-decor/text-decoration-090a-manual.html",
+ {}
+ ]
+ ],
+ "css/css-text-decor/text-decoration-091-manual.html": [
+ [
+ "css/css-text-decor/text-decoration-091-manual.html",
+ {}
+ ]
+ ],
+ "css/css-text-decor/text-decoration-091a-manual.html": [
+ [
+ "css/css-text-decor/text-decoration-091a-manual.html",
+ {}
+ ]
+ ],
+ "css/css-text-decor/text-decoration-092-manual.html": [
+ [
+ "css/css-text-decor/text-decoration-092-manual.html",
+ {}
+ ]
+ ],
+ "css/css-text-decor/text-decoration-092a-manual.html": [
+ [
+ "css/css-text-decor/text-decoration-092a-manual.html",
+ {}
+ ]
+ ],
+ "css/css-text-decor/text-decoration-095a-manual.html": [
+ [
+ "css/css-text-decor/text-decoration-095a-manual.html",
+ {}
+ ]
+ ],
+ "css/css-text-decor/text-decoration-096-manual.html": [
+ [
+ "css/css-text-decor/text-decoration-096-manual.html",
+ {}
+ ]
+ ],
+ "css/css-text-decor/text-decoration-096a-manual.html": [
+ [
+ "css/css-text-decor/text-decoration-096a-manual.html",
+ {}
+ ]
+ ],
+ "css/css-text-decor/text-decoration-097-manual.html": [
+ [
+ "css/css-text-decor/text-decoration-097-manual.html",
+ {}
+ ]
+ ],
+ "css/css-text-decor/text-decoration-097a-manual.html": [
+ [
+ "css/css-text-decor/text-decoration-097a-manual.html",
+ {}
+ ]
+ ],
"css/css-text-decor/text-decoration-line-014.xht": [
[
"css/css-text-decor/text-decoration-line-014.xht",
@@ -13681,6 +13837,12 @@
{}
]
],
+ "payment-request/payment-response/payerdetailschange-updateWith-immediate-manual.https.html": [
+ [
+ "payment-request/payment-response/payerdetailschange-updateWith-immediate-manual.https.html",
+ {}
+ ]
+ ],
"payment-request/payment-response/payerdetailschange-updateWith-manual.https.html": [
[
"payment-request/payment-response/payerdetailschange-updateWith-manual.https.html",
@@ -19075,6 +19237,12 @@
{}
]
],
+ "web-nfc/NFCWriter_push_signal-manual.https.html": [
+ [
+ "web-nfc/NFCWriter_push_signal-manual.https.html",
+ {}
+ ]
+ ],
"web-nfc/nfc_hw_disabled-manual.https.html": [
[
"web-nfc/nfc_hw_disabled-manual.https.html",
@@ -197195,6 +197363,18 @@
{}
]
],
+ "svg/extensibility/foreignObject/compositing-backface-visibility.html": [
+ [
+ "svg/extensibility/foreignObject/compositing-backface-visibility.html",
+ [
+ [
+ "/svg/extensibility/foreignObject/compositing-backface-visibility-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"svg/extensibility/foreignObject/foreign-object-margin-collapsing.html": [
[
"svg/extensibility/foreignObject/foreign-object-margin-collapsing.html",
@@ -317462,6 +317642,11 @@
{}
]
],
+ "svg/extensibility/foreignObject/compositing-backface-visibility-ref.html": [
+ [
+ {}
+ ]
+ ],
"svg/extensibility/foreignObject/foreign-object-paints-before-rect-ref.html": [
[
{}
@@ -370137,6 +370322,18 @@
}
]
],
+ "element-timing/background-image-multiple-elements.html": [
+ [
+ "element-timing/background-image-multiple-elements.html",
+ {}
+ ]
+ ],
+ "element-timing/background-image-stretched.html": [
+ [
+ "element-timing/background-image-stretched.html",
+ {}
+ ]
+ ],
"element-timing/buffer-before-onload.html": [
[
"element-timing/buffer-before-onload.html",
@@ -370203,6 +370400,18 @@
{}
]
],
+ "element-timing/multiple-background-images.html": [
+ [
+ "element-timing/multiple-background-images.html",
+ {}
+ ]
+ ],
+ "element-timing/observe-background-image.html": [
+ [
+ "element-timing/observe-background-image.html",
+ {}
+ ]
+ ],
"element-timing/observe-child-element.html": [
[
"element-timing/observe-child-element.html",
@@ -415662,6 +415871,7 @@
[
"portals/portals-post-message.sub.html",
{
+ "testdriver": true,
"timeout": "long"
}
]
@@ -471125,162 +471335,6 @@
{}
]
],
- "css/css-text-decor/text-decoration-001.html": [
- [
- "css/css-text-decor/text-decoration-001.html",
- {}
- ]
- ],
- "css/css-text-decor/text-decoration-002.html": [
- [
- "css/css-text-decor/text-decoration-002.html",
- {}
- ]
- ],
- "css/css-text-decor/text-decoration-003.html": [
- [
- "css/css-text-decor/text-decoration-003.html",
- {}
- ]
- ],
- "css/css-text-decor/text-decoration-004.html": [
- [
- "css/css-text-decor/text-decoration-004.html",
- {}
- ]
- ],
- "css/css-text-decor/text-decoration-040.html": [
- [
- "css/css-text-decor/text-decoration-040.html",
- {}
- ]
- ],
- "css/css-text-decor/text-decoration-040a.html": [
- [
- "css/css-text-decor/text-decoration-040a.html",
- {}
- ]
- ],
- "css/css-text-decor/text-decoration-041.html": [
- [
- "css/css-text-decor/text-decoration-041.html",
- {}
- ]
- ],
- "css/css-text-decor/text-decoration-044.html": [
- [
- "css/css-text-decor/text-decoration-044.html",
- {}
- ]
- ],
- "css/css-text-decor/text-decoration-045.html": [
- [
- "css/css-text-decor/text-decoration-045.html",
- {}
- ]
- ],
- "css/css-text-decor/text-decoration-046a.html": [
- [
- "css/css-text-decor/text-decoration-046a.html",
- {}
- ]
- ],
- "css/css-text-decor/text-decoration-048.html": [
- [
- "css/css-text-decor/text-decoration-048.html",
- {}
- ]
- ],
- "css/css-text-decor/text-decoration-048a.html": [
- [
- "css/css-text-decor/text-decoration-048a.html",
- {}
- ]
- ],
- "css/css-text-decor/text-decoration-049.html": [
- [
- "css/css-text-decor/text-decoration-049.html",
- {}
- ]
- ],
- "css/css-text-decor/text-decoration-082.html": [
- [
- "css/css-text-decor/text-decoration-082.html",
- {}
- ]
- ],
- "css/css-text-decor/text-decoration-085.html": [
- [
- "css/css-text-decor/text-decoration-085.html",
- {}
- ]
- ],
- "css/css-text-decor/text-decoration-090.html": [
- [
- "css/css-text-decor/text-decoration-090.html",
- {}
- ]
- ],
- "css/css-text-decor/text-decoration-090a.html": [
- [
- "css/css-text-decor/text-decoration-090a.html",
- {}
- ]
- ],
- "css/css-text-decor/text-decoration-091.html": [
- [
- "css/css-text-decor/text-decoration-091.html",
- {}
- ]
- ],
- "css/css-text-decor/text-decoration-091a.html": [
- [
- "css/css-text-decor/text-decoration-091a.html",
- {}
- ]
- ],
- "css/css-text-decor/text-decoration-092.html": [
- [
- "css/css-text-decor/text-decoration-092.html",
- {}
- ]
- ],
- "css/css-text-decor/text-decoration-092a.html": [
- [
- "css/css-text-decor/text-decoration-092a.html",
- {}
- ]
- ],
- "css/css-text-decor/text-decoration-095a.html": [
- [
- "css/css-text-decor/text-decoration-095a.html",
- {}
- ]
- ],
- "css/css-text-decor/text-decoration-096.html": [
- [
- "css/css-text-decor/text-decoration-096.html",
- {}
- ]
- ],
- "css/css-text-decor/text-decoration-096a.html": [
- [
- "css/css-text-decor/text-decoration-096a.html",
- {}
- ]
- ],
- "css/css-text-decor/text-decoration-097.html": [
- [
- "css/css-text-decor/text-decoration-097.html",
- {}
- ]
- ],
- "css/css-text-decor/text-decoration-097a.html": [
- [
- "css/css-text-decor/text-decoration-097a.html",
- {}
- ]
- ],
"css/css-text-decor/text-decoration-visibility-001.xht": [
[
"css/css-text-decor/text-decoration-visibility-001.xht",
@@ -602208,109 +602262,109 @@
"6bf79ba4527f99af740bdeca945449e8f9ed7a57",
"support"
],
- "css/css-text-decor/text-decoration-001.html": [
+ "css/css-text-decor/text-decoration-001-manual.html": [
"9b620132697dfbf68f0d10575afaf7d902e649da",
- "visual"
+ "manual"
],
- "css/css-text-decor/text-decoration-002.html": [
+ "css/css-text-decor/text-decoration-002-manual.html": [
"71c815b34e0eb43d38456ac3ec67cf3a7f96308c",
- "visual"
+ "manual"
],
- "css/css-text-decor/text-decoration-003.html": [
+ "css/css-text-decor/text-decoration-003-manual.html": [
"ee987654bf1eab14c45393314adcc6425713c154",
- "visual"
+ "manual"
],
- "css/css-text-decor/text-decoration-004.html": [
+ "css/css-text-decor/text-decoration-004-manual.html": [
"0419d85f9625f07d439b57ebc72a422ced6a5099",
- "visual"
+ "manual"
],
- "css/css-text-decor/text-decoration-040.html": [
+ "css/css-text-decor/text-decoration-040-manual.html": [
"63b63759197870f9a0616b853a4dd58e282876b1",
- "visual"
+ "manual"
],
- "css/css-text-decor/text-decoration-040a.html": [
+ "css/css-text-decor/text-decoration-040a-manual.html": [
"90963c8db6ca41c9c962ee0f38d6153cc9e7fc2b",
- "visual"
+ "manual"
],
- "css/css-text-decor/text-decoration-041.html": [
+ "css/css-text-decor/text-decoration-041-manual.html": [
"32e0598ab4a9268fd4c2f4b48dec7bbc4632ab0b",
- "visual"
+ "manual"
],
- "css/css-text-decor/text-decoration-044.html": [
+ "css/css-text-decor/text-decoration-044-manual.html": [
"63732387f27a9bd32ee42fcf3400f4b8a22c642c",
- "visual"
+ "manual"
],
- "css/css-text-decor/text-decoration-045.html": [
+ "css/css-text-decor/text-decoration-045-manual.html": [
"e8a6904071419c0b049ed5b5aad83401e236957d",
- "visual"
+ "manual"
],
- "css/css-text-decor/text-decoration-046a.html": [
+ "css/css-text-decor/text-decoration-046a-manual.html": [
"a3d5e717e3f882ba2ce9a4bf148fd62856c73b76",
- "visual"
+ "manual"
],
- "css/css-text-decor/text-decoration-048.html": [
+ "css/css-text-decor/text-decoration-048-manual.html": [
"c9070bedb3b3450e7d2c0b2b0a76dfbdfdb8e4f2",
- "visual"
+ "manual"
],
- "css/css-text-decor/text-decoration-048a.html": [
+ "css/css-text-decor/text-decoration-048a-manual.html": [
"7d598af677e9f5be323886842560f9c04d79da8a",
- "visual"
+ "manual"
],
- "css/css-text-decor/text-decoration-049.html": [
+ "css/css-text-decor/text-decoration-049-manual.html": [
"b8fb70dcd79a50ae2a49bf705688695f66ee2a88",
- "visual"
+ "manual"
],
- "css/css-text-decor/text-decoration-082.html": [
+ "css/css-text-decor/text-decoration-082-manual.html": [
"a1d5497ad2ac01d8df295b8203a9769780317f27",
- "visual"
+ "manual"
],
- "css/css-text-decor/text-decoration-085.html": [
+ "css/css-text-decor/text-decoration-085-manual.html": [
"30522cf331fecc3eb17a43a53b1bc9aa5d63ae1d",
- "visual"
+ "manual"
],
- "css/css-text-decor/text-decoration-090.html": [
+ "css/css-text-decor/text-decoration-090-manual.html": [
"580fb98c87961670cd2c23f3d01be40477cd06db",
- "visual"
+ "manual"
],
- "css/css-text-decor/text-decoration-090a.html": [
+ "css/css-text-decor/text-decoration-090a-manual.html": [
"d9ac430079b621104da62a11fca6b0bd3d6cff57",
- "visual"
+ "manual"
],
- "css/css-text-decor/text-decoration-091.html": [
+ "css/css-text-decor/text-decoration-091-manual.html": [
"2097792f1c317daaad0f05281a3b547d3555cd3d",
- "visual"
+ "manual"
],
- "css/css-text-decor/text-decoration-091a.html": [
+ "css/css-text-decor/text-decoration-091a-manual.html": [
"ee2464c5263e1cd7eb1389d4b052bc08633a78e8",
- "visual"
+ "manual"
],
- "css/css-text-decor/text-decoration-092.html": [
+ "css/css-text-decor/text-decoration-092-manual.html": [
"5ba99f0de3b463eef56f477d5e2cfffd06f16786",
- "visual"
+ "manual"
],
- "css/css-text-decor/text-decoration-092a.html": [
+ "css/css-text-decor/text-decoration-092a-manual.html": [
"5f034b3e729955dbc4c0be3c1787745423f224ff",
- "visual"
+ "manual"
],
- "css/css-text-decor/text-decoration-095a.html": [
+ "css/css-text-decor/text-decoration-095a-manual.html": [
"dc4ae513d125b9cb065875ecd2b5155ff2169fe2",
- "visual"
+ "manual"
],
- "css/css-text-decor/text-decoration-096.html": [
+ "css/css-text-decor/text-decoration-096-manual.html": [
"b7c0dc4878b365e9009026c4f537a4312bab761c",
- "visual"
+ "manual"
],
- "css/css-text-decor/text-decoration-096a.html": [
+ "css/css-text-decor/text-decoration-096a-manual.html": [
"a1f13e57cafd437805633587bdcc1190c18fb26a",
- "visual"
+ "manual"
],
- "css/css-text-decor/text-decoration-097.html": [
+ "css/css-text-decor/text-decoration-097-manual.html": [
"4d352e4da17d515aa4426ac286ca663bd8a13834",
- "visual"
+ "manual"
],
- "css/css-text-decor/text-decoration-097a.html": [
+ "css/css-text-decor/text-decoration-097a-manual.html": [
"64b3249dd6be2cf4364c3ebe62ff256a0373a29d",
- "visual"
+ "manual"
],
"css/css-text-decor/text-decoration-color-recalc.html": [
"b7cde934fcfd3c73ac351f7b9566adadad542294",
@@ -612445,47 +612499,47 @@
"support"
],
"css/css-transforms/transform3d-scale-001-notref.html": [
- "c2bde5a8e7124b782bee4f5b33c704222ae7e205",
+ "ab5ae4cb4028aa428a79fff89641537bf47b7309",
"support"
],
"css/css-transforms/transform3d-scale-001-ref.html": [
- "213d81bed75b68a36f7377404a4c681940036d76",
+ "05e7b31d27bd0569d75c832a707462ba1e024204",
"support"
],
"css/css-transforms/transform3d-scale-001.html": [
- "36fe800feeddf04525cad74d290fdb1d2b677ae9",
+ "d6287818bf7369a95e5858175e02218e22ac18d1",
"reftest"
],
"css/css-transforms/transform3d-scale-002.html": [
- "723dfc8a949108902db9d1b5eff57ef37a7516f9",
+ "a677aaedd226b06db1a378fe9ffa3b5d81acb114",
"reftest"
],
"css/css-transforms/transform3d-scale-003.html": [
- "0bb647b80564c35ee6c4e667c4b81282350405a7",
+ "e613ba520ea638ec880fffb73d4659fbafbcf636",
"reftest"
],
"css/css-transforms/transform3d-scale-004.html": [
- "f5a161c06f0337d325ec6e42665786c4fa33658c",
+ "ed8247cc5bdc8902509a6f8d415b5efc846384fb",
"reftest"
],
"css/css-transforms/transform3d-scale-005-ref.html": [
- "201300cfda0e69515300c220c4b427613d4cbd92",
+ "270e413ddb21c37ce11c1f7715b2120c2e78bfdc",
"support"
],
"css/css-transforms/transform3d-scale-005.html": [
- "fda6f7f5ca1335859ef080f14571768136e6ddba",
+ "524323c1c615ccf082ec82f5c4781c1ed3743aa1",
"reftest"
],
"css/css-transforms/transform3d-scale-006.html": [
- "b821776ee49b21b65cecb149f8d15247425941b0",
+ "b3dd5378f4bed2dcfe577ae489fdf689cf6dcfeb",
"reftest"
],
"css/css-transforms/transform3d-scale-007-ref.html": [
- "f476aa9c77b4e5b19cf29a35d5a9c916fb8ad32a",
+ "b719044a5695c1f500144a3423d10a9fa8ba2c3d",
"support"
],
"css/css-transforms/transform3d-scale-007.html": [
- "e9c199700a81d515739ff8bb4df03ffcc0e15c40",
+ "88261b7ad65dee6a2235c8df9bef43ad7c430dee",
"reftest"
],
"css/css-transforms/transform3d-sorting-001.html": [
@@ -642620,6 +642674,14 @@
"7cd0be939f16e8aea7b00ff2b13a06102e26cc4d",
"testharness"
],
+ "element-timing/background-image-multiple-elements.html": [
+ "669f94d6b0189ba387cf90c1b49c7d4120319673",
+ "testharness"
+ ],
+ "element-timing/background-image-stretched.html": [
+ "8f93b43524f7b3d051af90d9807a3f30ad299ae7",
+ "testharness"
+ ],
"element-timing/buffer-before-onload.html": [
"805777f29c297a22497d3e4f07b6ea462b0a0b7c",
"testharness"
@@ -642664,6 +642726,14 @@
"dbcad248e3aea0d148416275adeec93e20d8c267",
"testharness"
],
+ "element-timing/multiple-background-images.html": [
+ "ca349fec45f6ae4bde53dbe03de673d19d295794",
+ "testharness"
+ ],
+ "element-timing/observe-background-image.html": [
+ "0669b4c4d83b6c2e81de94beb7db15c6ca775d1b",
+ "testharness"
+ ],
"element-timing/observe-child-element.html": [
"9166a4b0e6d129c356d74da2b81a6e02c08105b6",
"testharness"
@@ -659109,7 +659179,7 @@
"testharness"
],
"html/semantics/embedded-content/media-elements/playing-the-media-resource/loop-from-ended.tentative.html": [
- "03a9b5d454473872f0d321b74524518438372fac",
+ "d099a8a0f8d3f41f08dd825fd42b1b1947e15956",
"testharness"
],
"html/semantics/embedded-content/media-elements/playing-the-media-resource/pause-move-to-other-document.html": [
@@ -669333,7 +669403,7 @@
"support"
],
"interfaces/webrtc-stats.idl": [
- "b6b30e88268d27dd6e9a902768521fcf74c3a514",
+ "0992b341e1fe3cede699c09eeb5838bd1e7a3999",
"support"
],
"interfaces/webrtc.idl": [
@@ -681864,6 +681934,10 @@
"85a44a819cd8555e032520f887cf89508bdb98b6",
"manual"
],
+ "payment-request/payment-response/payerdetailschange-updateWith-immediate-manual.https.html": [
+ "912ceaa6086fd616908115d4f17117e76867d830",
+ "manual"
+ ],
"payment-request/payment-response/payerdetailschange-updateWith-manual.https.html": [
"30e27088e7de1384489fcf9aa72391d353e34b36",
"manual"
@@ -682641,7 +682715,7 @@
"testharness"
],
"portals/portals-post-message.sub.html": [
- "9fc6f6192cfa114053ae3ae6976e1c4491f299ad",
+ "fe58e25180ecec148e8f5bee4d79eaa366268476",
"testharness"
],
"portals/portals-rendering.html": [
@@ -682717,7 +682791,7 @@
"support"
],
"portals/resources/portal-post-message-cross-origin-portal.sub.html": [
- "4aca1bde6983027fc363f318f22cfaaa156dee59",
+ "577c10ac666536eed4ed4a62fdc4924f06a47b6f",
"support"
],
"portals/resources/portal-post-message-during-activate-window.html": [
@@ -682725,7 +682799,7 @@
"support"
],
"portals/resources/portal-post-message-portal.html": [
- "c657894f8ac4ec83e6a3ed3fd66dbc3be3b0c985",
+ "539048c13f5e8c21f7bda5e7d7e1b4772efb5ded",
"support"
],
"portals/resources/portals-adopt-predecessor-portal.html": [
@@ -699708,6 +699782,14 @@
"120941444a4898197d6b6001f9908a6cd48b62ba",
"support"
],
+ "svg/extensibility/foreignObject/compositing-backface-visibility-ref.html": [
+ "b0f504974a552545053a1a5d7c1e55eefa527fdb",
+ "support"
+ ],
+ "svg/extensibility/foreignObject/compositing-backface-visibility.html": [
+ "1551e25f8f9675dd5cde0dc656635656f5d33023",
+ "reftest"
+ ],
"svg/extensibility/foreignObject/containing-block.html": [
"da0728c96b5d0eb81435efad329bdcc3ee4dfb26",
"testharness"
@@ -712697,9 +712779,13 @@
"testharness"
],
"web-nfc/NFCWriter_push.https.html": [
- "f5a0a84273681f7c2af402061fd3e6fb456cac76",
+ "d53e5023a1b6aa6133a6f878888d5450c252678d",
"testharness"
],
+ "web-nfc/NFCWriter_push_signal-manual.https.html": [
+ "f45d0bbbd49821d0de8953884f5dbb908e904f83",
+ "manual"
+ ],
"web-nfc/idlharness.https.window.js": [
"ab0d6cd191a5b576674c0c038087ef17ece4cdfd",
"testharness"
diff --git a/tests/wpt/metadata/css/cssom-view/elementsFromPoint-iframes.html.ini b/tests/wpt/metadata/css/cssom-view/elementsFromPoint-iframes.html.ini
index ff5b07adb77..e89282b04a1 100644
--- a/tests/wpt/metadata/css/cssom-view/elementsFromPoint-iframes.html.ini
+++ b/tests/wpt/metadata/css/cssom-view/elementsFromPoint-iframes.html.ini
@@ -1,5 +1,5 @@
[elementsFromPoint-iframes.html]
- expected: TIMEOUT
+ expected: CRASH
[elementsFromPoint on the root document for points in iframe elements]
expected: FAIL
diff --git a/tests/wpt/metadata/fetch/content-type/response.window.js.ini b/tests/wpt/metadata/fetch/content-type/response.window.js.ini
index e1632fe21a0..b9facf16b81 100644
--- a/tests/wpt/metadata/fetch/content-type/response.window.js.ini
+++ b/tests/wpt/metadata/fetch/content-type/response.window.js.ini
@@ -22,7 +22,7 @@
expected: NOTRUN
[<iframe>: combined response Content-Type: text/plain */*;charset=gbk]
- expected: FAIL
+ expected: TIMEOUT
[fetch(): separate response Content-Type: text/html;x=" text/plain]
expected: NOTRUN
@@ -163,7 +163,7 @@
expected: NOTRUN
[<iframe>: combined response Content-Type: text/html;" " text/plain]
- expected: FAIL
+ expected: TIMEOUT
[Request: combined response Content-Type: text/plain;charset=gbk;x=foo text/plain]
expected: NOTRUN
@@ -172,7 +172,7 @@
expected: NOTRUN
[<iframe>: combined response Content-Type: text/html;" \\" text/plain ";charset=GBK]
- expected: FAIL
+ expected: TIMEOUT
[Response: combined response Content-Type: text/html;x=" text/plain]
expected: NOTRUN
@@ -202,7 +202,7 @@
expected: NOTRUN
[<iframe>: separate response Content-Type: text/html;" " text/plain]
- expected: FAIL
+ expected: TIMEOUT
[fetch(): separate response Content-Type: text/plain */*;charset=gbk]
expected: NOTRUN
@@ -286,7 +286,7 @@
expected: NOTRUN
[<iframe>: separate response Content-Type: text/html;" \\" text/plain ";charset=GBK]
- expected: FAIL
+ expected: TIMEOUT
[fetch(): combined response Content-Type: text/html;" " text/plain]
expected: NOTRUN
@@ -310,11 +310,32 @@
expected: NOTRUN
[<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
- expected: FAIL
-
- [<iframe>: combined response Content-Type: text/html */*;charset=gbk]
- expected: FAIL
+ expected: TIMEOUT
[<iframe>: combined response Content-Type: text/html;" \\" text/plain]
+ expected: TIMEOUT
+
+ [<iframe>: combined response Content-Type: text/html;" text/plain]
+ expected: TIMEOUT
+
+ [<iframe>: combined response Content-Type: text/html */*]
+ expected: TIMEOUT
+
+ [<iframe>: separate response Content-Type: text/html;" text/plain]
+ expected: TIMEOUT
+
+ [<iframe>: separate response Content-Type: text/html */*;charset=gbk]
+ expected: TIMEOUT
+
+ [<iframe>: separate response Content-Type: */* text/html]
expected: FAIL
+ [<iframe>: separate response Content-Type: text/html;x=" text/plain]
+ expected: TIMEOUT
+
+ [<iframe>: separate response Content-Type: text/html;" \\" text/plain]
+ expected: TIMEOUT
+
+ [<iframe>: combined response Content-Type: text/html;x=" text/plain]
+ expected: TIMEOUT
+
diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini
deleted file mode 100644
index 87b07c3e670..00000000000
--- a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[traverse_the_history_1.html]
- [Multiple history traversals from the same task]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/playing-the-media-resource/loop-from-ended.tentative.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/media-elements/playing-the-media-resource/loop-from-ended.tentative.html.ini
index 2e0a6add6fc..6d9188c1e52 100644
--- a/tests/wpt/metadata/html/semantics/embedded-content/media-elements/playing-the-media-resource/loop-from-ended.tentative.html.ini
+++ b/tests/wpt/metadata/html/semantics/embedded-content/media-elements/playing-the-media-resource/loop-from-ended.tentative.html.ini
@@ -2,3 +2,6 @@
[Test looping edge case to verify http://crbug.com/364442.]
expected: FAIL
+ [play() with loop set to true after playback ended]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-img-element/non-active-document.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-img-element/non-active-document.html.ini
new file mode 100644
index 00000000000..8cc42056d34
--- /dev/null
+++ b/tests/wpt/metadata/html/semantics/embedded-content/the-img-element/non-active-document.html.ini
@@ -0,0 +1,10 @@
+[non-active-document.html]
+ [DOMParser]
+ expected: FAIL
+
+ [createHTMLDocument]
+ expected: FAIL
+
+ [<template>]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/html/semantics/interactive-elements/the-details-element/toggleEvent.html.ini b/tests/wpt/metadata/html/semantics/interactive-elements/the-details-element/toggleEvent.html.ini
deleted file mode 100644
index 9e522297c94..00000000000
--- a/tests/wpt/metadata/html/semantics/interactive-elements/the-details-element/toggleEvent.html.ini
+++ /dev/null
@@ -1,7 +0,0 @@
-[toggleEvent.html]
- [Calling open twice on 'details' fires only one toggle event]
- expected: FAIL
-
- [Setting open=true to opened 'details' element should not fire a toggle event at the 'details' element]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini b/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini
index 66bd350083b..a56bad443a2 100644
--- a/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini
+++ b/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini
@@ -1,4 +1,5 @@
[realtimeanalyser-fft-scaling.html]
+ expected: TIMEOUT
[X 2048-point FFT peak position is not equal to 64. Got 0.]
expected: FAIL
diff --git a/tests/wpt/mozilla/meta/css/transition_calc_implicit.html.ini b/tests/wpt/mozilla/meta/css/transition_calc_implicit.html.ini
deleted file mode 100644
index dbea4f293ad..00000000000
--- a/tests/wpt/mozilla/meta/css/transition_calc_implicit.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[transition_calc_implicit.html]
- expected: TIMEOUT
diff --git a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-001.html b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-001-manual.html
index 9b620132697..9b620132697 100644
--- a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-001.html
+++ b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-001-manual.html
diff --git a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-002.html b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-002-manual.html
index 71c815b34e0..71c815b34e0 100644
--- a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-002.html
+++ b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-002-manual.html
diff --git a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-003.html b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-003-manual.html
index ee987654bf1..ee987654bf1 100644
--- a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-003.html
+++ b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-003-manual.html
diff --git a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-004.html b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-004-manual.html
index 0419d85f962..0419d85f962 100644
--- a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-004.html
+++ b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-004-manual.html
diff --git a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-040.html b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-040-manual.html
index 63b63759197..63b63759197 100644
--- a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-040.html
+++ b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-040-manual.html
diff --git a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-040a.html b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-040a-manual.html
index 90963c8db6c..90963c8db6c 100644
--- a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-040a.html
+++ b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-040a-manual.html
diff --git a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-041.html b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-041-manual.html
index 32e0598ab4a..32e0598ab4a 100644
--- a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-041.html
+++ b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-041-manual.html
diff --git a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-044.html b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-044-manual.html
index 63732387f27..63732387f27 100644
--- a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-044.html
+++ b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-044-manual.html
diff --git a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-045.html b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-045-manual.html
index e8a69040714..e8a69040714 100644
--- a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-045.html
+++ b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-045-manual.html
diff --git a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-046a.html b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-046a-manual.html
index a3d5e717e3f..a3d5e717e3f 100644
--- a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-046a.html
+++ b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-046a-manual.html
diff --git a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-048.html b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-048-manual.html
index c9070bedb3b..c9070bedb3b 100644
--- a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-048.html
+++ b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-048-manual.html
diff --git a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-048a.html b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-048a-manual.html
index 7d598af677e..7d598af677e 100644
--- a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-048a.html
+++ b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-048a-manual.html
diff --git a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-049.html b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-049-manual.html
index b8fb70dcd79..b8fb70dcd79 100644
--- a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-049.html
+++ b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-049-manual.html
diff --git a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-082.html b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-082-manual.html
index a1d5497ad2a..a1d5497ad2a 100644
--- a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-082.html
+++ b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-082-manual.html
diff --git a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-085.html b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-085-manual.html
index 30522cf331f..30522cf331f 100644
--- a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-085.html
+++ b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-085-manual.html
diff --git a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-090.html b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-090-manual.html
index 580fb98c879..580fb98c879 100644
--- a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-090.html
+++ b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-090-manual.html
diff --git a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-090a.html b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-090a-manual.html
index d9ac430079b..d9ac430079b 100644
--- a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-090a.html
+++ b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-090a-manual.html
diff --git a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-091.html b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-091-manual.html
index 2097792f1c3..2097792f1c3 100644
--- a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-091.html
+++ b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-091-manual.html
diff --git a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-091a.html b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-091a-manual.html
index ee2464c5263..ee2464c5263 100644
--- a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-091a.html
+++ b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-091a-manual.html
diff --git a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-092.html b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-092-manual.html
index 5ba99f0de3b..5ba99f0de3b 100644
--- a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-092.html
+++ b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-092-manual.html
diff --git a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-092a.html b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-092a-manual.html
index 5f034b3e729..5f034b3e729 100644
--- a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-092a.html
+++ b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-092a-manual.html
diff --git a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-095a.html b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-095a-manual.html
index dc4ae513d12..dc4ae513d12 100644
--- a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-095a.html
+++ b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-095a-manual.html
diff --git a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-096.html b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-096-manual.html
index b7c0dc4878b..b7c0dc4878b 100644
--- a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-096.html
+++ b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-096-manual.html
diff --git a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-096a.html b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-096a-manual.html
index a1f13e57caf..a1f13e57caf 100644
--- a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-096a.html
+++ b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-096a-manual.html
diff --git a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-097.html b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-097-manual.html
index 4d352e4da17..4d352e4da17 100644
--- a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-097.html
+++ b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-097-manual.html
diff --git a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-097a.html b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-097a-manual.html
index 64b3249dd6b..64b3249dd6b 100644
--- a/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-097a.html
+++ b/tests/wpt/web-platform-tests/css/css-text-decor/text-decoration-097a-manual.html
diff --git a/tests/wpt/web-platform-tests/css/css-transforms/transform3d-scale-001-notref.html b/tests/wpt/web-platform-tests/css/css-transforms/transform3d-scale-001-notref.html
index c2bde5a8e71..ab5ae4cb402 100644
--- a/tests/wpt/web-platform-tests/css/css-transforms/transform3d-scale-001-notref.html
+++ b/tests/wpt/web-platform-tests/css/css-transforms/transform3d-scale-001-notref.html
@@ -6,7 +6,8 @@
</head>
<body>
<div style="width: 100px; height: 100px">
- Test Text
+ <div style="background: blue; width: 50px; height: 50px;"></div>
+ <div style="background: lime; width: 50px; height: 50px; margin-left: 50px;"></div>
</div>
</body>
</html>
diff --git a/tests/wpt/web-platform-tests/css/css-transforms/transform3d-scale-001-ref.html b/tests/wpt/web-platform-tests/css/css-transforms/transform3d-scale-001-ref.html
index 213d81bed75..05e7b31d27b 100644
--- a/tests/wpt/web-platform-tests/css/css-transforms/transform3d-scale-001-ref.html
+++ b/tests/wpt/web-platform-tests/css/css-transforms/transform3d-scale-001-ref.html
@@ -7,7 +7,8 @@
</head>
<body>
<div style="transform: scaleX(2) scaleY(2); transform-origin: 0 0; width: 100px; height: 100px;">
- Test Text
+ <div style="background: blue; width: 50px; height: 50px;"></div>
+ <div style="background: lime; width: 50px; height: 50px; margin-left: 50px;"></div>
</div>
</body>
</html>
diff --git a/tests/wpt/web-platform-tests/css/css-transforms/transform3d-scale-001.html b/tests/wpt/web-platform-tests/css/css-transforms/transform3d-scale-001.html
index 36fe800feed..d6287818bf7 100644
--- a/tests/wpt/web-platform-tests/css/css-transforms/transform3d-scale-001.html
+++ b/tests/wpt/web-platform-tests/css/css-transforms/transform3d-scale-001.html
@@ -14,7 +14,8 @@
</head>
<body>
<div style="transform: scale3D(2,2,2); transform-origin: 0 0; width: 100px; height: 100px;">
- Test Text
+ <div style="background: blue; width: 50px; height: 50px;"></div>
+ <div style="background: lime; width: 50px; height: 50px; margin-left: 50px;"></div>
</div>
</body>
</html>
diff --git a/tests/wpt/web-platform-tests/css/css-transforms/transform3d-scale-002.html b/tests/wpt/web-platform-tests/css/css-transforms/transform3d-scale-002.html
index 723dfc8a949..a677aaedd22 100644
--- a/tests/wpt/web-platform-tests/css/css-transforms/transform3d-scale-002.html
+++ b/tests/wpt/web-platform-tests/css/css-transforms/transform3d-scale-002.html
@@ -15,7 +15,8 @@
</head>
<body>
<div style="transform: rotatex(90deg) scale3D(2,1,2) rotatex(-90deg); transform-origin: 0 0; width: 100px; height: 100px;">
- Test Text
+ <div style="background: blue; width: 50px; height: 50px;"></div>
+ <div style="background: lime; width: 50px; height: 50px; margin-left: 50px;"></div>
</div>
</body>
</html>
diff --git a/tests/wpt/web-platform-tests/css/css-transforms/transform3d-scale-003.html b/tests/wpt/web-platform-tests/css/css-transforms/transform3d-scale-003.html
index 0bb647b8056..e613ba520ea 100644
--- a/tests/wpt/web-platform-tests/css/css-transforms/transform3d-scale-003.html
+++ b/tests/wpt/web-platform-tests/css/css-transforms/transform3d-scale-003.html
@@ -14,7 +14,8 @@
</head>
<body>
<div style="transform: scaleX(2) scaleY(2) scaleZ(2); transform-origin: 0 0; width: 100px; height: 100px;">
- Test Text
+ <div style="background: blue; width: 50px; height: 50px;"></div>
+ <div style="background: lime; width: 50px; height: 50px; margin-left: 50px;"></div>
</div>
</body>
</html>
diff --git a/tests/wpt/web-platform-tests/css/css-transforms/transform3d-scale-004.html b/tests/wpt/web-platform-tests/css/css-transforms/transform3d-scale-004.html
index f5a161c06f0..ed8247cc5bd 100644
--- a/tests/wpt/web-platform-tests/css/css-transforms/transform3d-scale-004.html
+++ b/tests/wpt/web-platform-tests/css/css-transforms/transform3d-scale-004.html
@@ -13,7 +13,8 @@
<body>
<p>Nothing should appear except this sentence.</p>
<div style="transform: scale3d(2, 2, 0); transform-origin: 0 0; width: 100px; height: 100px;">
- Test Text
+ <div style="background: blue; width: 50px; height: 50px;"></div>
+ <div style="background: lime; width: 50px; height: 50px; margin-left: 50px;"></div>
</div>
</body>
</html>
diff --git a/tests/wpt/web-platform-tests/css/css-transforms/transform3d-scale-005-ref.html b/tests/wpt/web-platform-tests/css/css-transforms/transform3d-scale-005-ref.html
index 201300cfda0..270e413ddb2 100644
--- a/tests/wpt/web-platform-tests/css/css-transforms/transform3d-scale-005-ref.html
+++ b/tests/wpt/web-platform-tests/css/css-transforms/transform3d-scale-005-ref.html
@@ -7,7 +7,8 @@
</head>
<body>
<div style="transform: scaleY(2); transform-origin: 0 0; width: 100px; height: 100px;">
- Test Text
+ <div style="background: blue; width: 50px; height: 50px;"></div>
+ <div style="background: lime; width: 50px; height: 50px; margin-left: 50px;"></div>
</div>
</body>
</html>
diff --git a/tests/wpt/web-platform-tests/css/css-transforms/transform3d-scale-005.html b/tests/wpt/web-platform-tests/css/css-transforms/transform3d-scale-005.html
index fda6f7f5ca1..524323c1c61 100644
--- a/tests/wpt/web-platform-tests/css/css-transforms/transform3d-scale-005.html
+++ b/tests/wpt/web-platform-tests/css/css-transforms/transform3d-scale-005.html
@@ -14,7 +14,8 @@
</head>
<body>
<div style="transform: rotatex(90deg) scale3D(1,1,2) rotatex(-90deg); transform-origin: 0 0; width: 100px; height: 100px;">
- Test Text
+ <div style="background: blue; width: 50px; height: 50px;"></div>
+ <div style="background: lime; width: 50px; height: 50px; margin-left: 50px;"></div>
</div>
</body>
</html>
diff --git a/tests/wpt/web-platform-tests/css/css-transforms/transform3d-scale-006.html b/tests/wpt/web-platform-tests/css/css-transforms/transform3d-scale-006.html
index b821776ee49..b3dd5378f4b 100644
--- a/tests/wpt/web-platform-tests/css/css-transforms/transform3d-scale-006.html
+++ b/tests/wpt/web-platform-tests/css/css-transforms/transform3d-scale-006.html
@@ -14,7 +14,8 @@
</head>
<body>
<div style="transform: rotatex(90deg) scaleZ(2) rotatex(-90deg); transform-origin: 0 0; width: 100px; height: 100px;">
- Test Text
+ <div style="background: blue; width: 50px; height: 50px;"></div>
+ <div style="background: lime; width: 50px; height: 50px; margin-left: 50px;"></div>
</div>
</body>
</html>
diff --git a/tests/wpt/web-platform-tests/css/css-transforms/transform3d-scale-007-ref.html b/tests/wpt/web-platform-tests/css/css-transforms/transform3d-scale-007-ref.html
index f476aa9c77b..b719044a569 100644
--- a/tests/wpt/web-platform-tests/css/css-transforms/transform3d-scale-007-ref.html
+++ b/tests/wpt/web-platform-tests/css/css-transforms/transform3d-scale-007-ref.html
@@ -7,7 +7,8 @@
</head>
<body>
<div style="transform: scaleY(-1); width: 100px; height: 100px;">
- Test Text
+ <div style="background: blue; width: 50px; height: 50px;"></div>
+ <div style="background: lime; width: 50px; height: 50px; margin-left: 50px;"></div>
</div>
</body>
</html>
diff --git a/tests/wpt/web-platform-tests/css/css-transforms/transform3d-scale-007.html b/tests/wpt/web-platform-tests/css/css-transforms/transform3d-scale-007.html
index e9c199700a8..88261b7ad65 100644
--- a/tests/wpt/web-platform-tests/css/css-transforms/transform3d-scale-007.html
+++ b/tests/wpt/web-platform-tests/css/css-transforms/transform3d-scale-007.html
@@ -12,7 +12,8 @@
</head>
<body>
<div style="transform: rotatex(180deg) scaleZ(-1); width: 100px; height: 100px;">
- Test Text
+ <div style="background: blue; width: 50px; height: 50px;"></div>
+ <div style="background: lime; width: 50px; height: 50px; margin-left: 50px;"></div>
</div>
</body>
</html>
diff --git a/tests/wpt/web-platform-tests/element-timing/background-image-multiple-elements.html b/tests/wpt/web-platform-tests/element-timing/background-image-multiple-elements.html
new file mode 100644
index 00000000000..669f94d6b01
--- /dev/null
+++ b/tests/wpt/web-platform-tests/element-timing/background-image-multiple-elements.html
@@ -0,0 +1,74 @@
+<!DOCTYPE HTML>
+<meta charset=utf-8>
+<title>Element Timing: background image affecting multiple elements</title>
+<body>
+<style>
+body {
+ margin: 0;
+}
+.my_div {
+ background-image: url('resources/square100.png');
+}
+#div1 {
+ width: 100px;
+ height: 100px;
+}
+#div2 {
+ width: 200px;
+ height: 100px;
+}
+</style>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="resources/element-timing-helpers.js"></script>
+<script>
+ async_test(function (t) {
+ let beforeRender = performance.now();
+ let numObservedElements = 0;
+ let observedDiv1 = false;
+ let observedDiv2 = false;
+ const index = window.location.href.lastIndexOf('/');
+ const pathname = window.location.href.substring(0, index) +
+ '/resources/square100.png';
+ const observer = new PerformanceObserver(
+ t.step_func(function(entryList) {
+ entryList.getEntries().forEach(entry => {
+ numObservedElements++;
+ if (entry.id == 'div1') {
+ observedDiv1 = true;
+ checkElement(entry, pathname, 'et1', 'div1', beforeRender);
+ // Div is in the top left corner.
+ checkRect(entry, [0, 100, 0, 100]);
+ checkNaturalSize(entry, 100, 100);
+ }
+ else if (entry.id == 'div2') {
+ observedDiv2 = true;
+ checkElement(entry, pathname, 'et2', 'div2', beforeRender);
+ // Div is below div1, on the left.
+ checkRect(entry, [0, 200, 100, 200]);
+ checkNaturalSize(entry, 100, 100);
+ }
+ else {
+ assert_unreached("Should not observe other elements!");
+ }
+ if (numObservedElements === 2) {
+ assert_true(observedDiv1);
+ assert_true(observedDiv2);
+ t.done();
+ }
+ });
+ })
+ );
+ observer.observe({entryTypes: ['element']});
+ }, 'Background image affecting various elements is observed.');
+</script>
+<div id="div1" class="my_div" elementtiming="et1">
+ <img width=50 height=50 src='resources/circle.svg'/>
+</div>
+<div width=200 height=100 id="div2" class="my_div" elementtiming="et2">
+ Sample text inside div.
+</div>
+<div id="div3"/>
+ I am a div that should not be observed!
+</div>
+</body>
diff --git a/tests/wpt/web-platform-tests/element-timing/background-image-stretched.html b/tests/wpt/web-platform-tests/element-timing/background-image-stretched.html
new file mode 100644
index 00000000000..8f93b43524f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/element-timing/background-image-stretched.html
@@ -0,0 +1,39 @@
+<!DOCTYPE HTML>
+<meta charset=utf-8>
+<title>Element Timing: observe larger element with stretched background image</title>
+<body>
+<style>
+body {
+ margin: 0;
+}
+#target {
+ width: 200px;
+ height: 150px;
+ background-image: url('resources/square100.png');
+}
+</style>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="resources/element-timing-helpers.js"></script>
+<script>
+ let beforeRender = performance.now();
+ async_test(function (t) {
+ const observer = new PerformanceObserver(
+ t.step_func_done(function(entryList) {
+ assert_equals(entryList.getEntries().length, 1);
+ const entry = entryList.getEntries()[0];
+ const index = window.location.href.lastIndexOf('/');
+ const pathname = window.location.href.substring(0, index) +
+ '/resources/square100.png';
+ checkElement(entry, pathname, 'my_div', 'target', beforeRender);
+ // The background image extends to occupy to full size of the div.
+ checkRect(entry, [0, 200, 0, 150]);
+ // The natural size of the square remains unchanged.
+ checkNaturalSize(entry, 100, 100);
+ })
+ );
+ observer.observe({entryTypes: ['element']});
+ }, 'Element with background image shows correct image size.');
+</script>
+<div id='target' elementtiming='my_div'></div>
+</body>
diff --git a/tests/wpt/web-platform-tests/element-timing/multiple-background-images.html b/tests/wpt/web-platform-tests/element-timing/multiple-background-images.html
new file mode 100644
index 00000000000..ca349fec45f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/element-timing/multiple-background-images.html
@@ -0,0 +1,57 @@
+<!DOCTYPE HTML>
+<meta charset=utf-8>
+<title>Element Timing: observe element with multiple background images</title>
+<body>
+<style>
+body {
+ margin: 0;
+}
+#target {
+ width: 200px;
+ height: 200px;
+ background-image: url('resources/circle.svg'), url('resources/square100.png');
+}
+</style>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="resources/element-timing-helpers.js"></script>
+<script>
+ let beforeRender = performance.now();
+ async_test(function (t) {
+ let numObservedElements = 0;
+ let observedCircle = false;
+ let observedSquare = false;
+ const index = window.location.href.lastIndexOf('/');
+ const pathname = window.location.href.substring(0, index) + '/resources/';
+ const observer = new PerformanceObserver(
+ t.step_func(entryList => {
+ entryList.getEntries().forEach(entry => {
+ numObservedElements++;
+ if (entry.name.endsWith('square100.png')) {
+ observedSquare = true;
+ checkElement(entry, pathname + 'square100.png', 'multi', 'target', beforeRender);
+ checkRect(entry, [0, 200, 0, 200]);
+ checkNaturalSize(entry, 100, 100);
+ }
+ else if (entry.name.endsWith('circle.svg')) {
+ observedCircle = true;
+ checkElement(entry, pathname + 'circle.svg', 'multi', 'target', beforeRender);
+ checkRect(entry, [0, 200, 0, 200]);
+ checkNaturalSize(entry, 200, 200);
+ }
+ else {
+ assert_unreached("Should not have observed an entry with different name!");
+ }
+ if (numObservedElements === 2) {
+ assert_true(observedCircle);
+ assert_true(observedSquare);
+ t.done();
+ }
+ });
+ })
+ );
+ observer.observe({entryTypes: ['element']});
+ }, 'Element with two background images receives both.');
+</script>
+<div id='target' elementtiming='multi'></div>
+</body>
diff --git a/tests/wpt/web-platform-tests/element-timing/observe-background-image.html b/tests/wpt/web-platform-tests/element-timing/observe-background-image.html
new file mode 100644
index 00000000000..0669b4c4d83
--- /dev/null
+++ b/tests/wpt/web-platform-tests/element-timing/observe-background-image.html
@@ -0,0 +1,37 @@
+<!DOCTYPE HTML>
+<meta charset=utf-8>
+<title>Element Timing: observe element with background image</title>
+<body>
+<style>
+body {
+ margin: 0;
+}
+#target {
+ width: 100px;
+ height: 50px;
+ background-image: url('/images/black-rectangle.png');
+}
+</style>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="resources/element-timing-helpers.js"></script>
+<script>
+ let beforeRender = performance.now();
+ async_test(function (t) {
+ const observer = new PerformanceObserver(
+ t.step_func_done(function(entryList) {
+ assert_equals(entryList.getEntries().length, 1);
+ const entry = entryList.getEntries()[0];
+ const index = window.location.href.lastIndexOf('/');
+ const pathname = window.location.href.substring(0, index - 14) +
+ 'images/black-rectangle.png';
+ checkElement(entry, pathname, 'my_div', 'target', beforeRender);
+ checkRect(entry, [0, 100, 0, 50]);
+ checkNaturalSize(entry, 100, 50);
+ })
+ );
+ observer.observe({entryTypes: ['element']});
+ }, 'Element with elementtiming attribute and background image is observable.');
+</script>
+<div id='target' elementtiming='my_div'></div>
+</body>
diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/playing-the-media-resource/loop-from-ended.tentative.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/playing-the-media-resource/loop-from-ended.tentative.html
index 03a9b5d4544..d099a8a0f8d 100644
--- a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/playing-the-media-resource/loop-from-ended.tentative.html
+++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/playing-the-media-resource/loop-from-ended.tentative.html
@@ -1,5 +1,5 @@
<!DOCTYPE html>
-<title>Test looping edge case to verify http://crbug.com/364442.</title>
+<title>play() with loop set to true after playback ended</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/media.js"></script>
@@ -10,6 +10,8 @@
// Once ended, set "loop" to true. Call play.
// Verify that "seeked" event fires, seeking back to the beginning.
// Pause video and end test.
+// Chromium bug: https://crbug.com/364442
+// Spec issue: https://github.com/whatwg/html/issues/4487
async_test(function(t) {
var video = document.querySelector("video");
diff --git a/tests/wpt/web-platform-tests/interfaces/webrtc-stats.idl b/tests/wpt/web-platform-tests/interfaces/webrtc-stats.idl
index b6b30e88268..0992b341e1f 100644
--- a/tests/wpt/web-platform-tests/interfaces/webrtc-stats.idl
+++ b/tests/wpt/web-platform-tests/interfaces/webrtc-stats.idl
@@ -207,6 +207,8 @@ dictionary RTCAudioReceiverStats : RTCAudioHandlerStats {
unsigned long long concealedSamples;
unsigned long long silentConcealedSamples;
unsigned long long concealmentEvents;
+ unsigned long long insertedSamplesForDeceleration;
+ unsigned long long removedSamplesForAcceleration;
};
dictionary RTCDataChannelStats : RTCStats {
diff --git a/tests/wpt/web-platform-tests/payment-request/payment-response/payerdetailschange-updateWith-immediate-manual.https.html b/tests/wpt/web-platform-tests/payment-request/payment-response/payerdetailschange-updateWith-immediate-manual.https.html
new file mode 100644
index 00000000000..912ceaa6086
--- /dev/null
+++ b/tests/wpt/web-platform-tests/payment-request/payment-response/payerdetailschange-updateWith-immediate-manual.https.html
@@ -0,0 +1,68 @@
+<!doctype html>
+<meta charset=utf-8>
+<title>Dispatching PaymentRequestUpdateEvent for "payerdetailschange"</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src="helpers.js"></script>
+<script>
+function testImmediateUpdate({ textContent: testName }) {
+ promise_test(async t => {
+ const response = await getPaymentResponse({ requestPayerName: true });
+ const eventPromise = new Promise((resolve, reject) => {
+ response.addEventListener(
+ "payerdetailchange",
+ ev => {
+ // Forces updateWith() to be run in the next event loop tick so that
+ // [[waitForUpdate]] is already true when it runs.
+ t.step_timeout(() => {
+ try {
+ ev.updateWith({});
+ resolve(); // This is bad.
+ } catch (err) {
+ reject(err); // this is good.
+ }
+ });
+ },
+ { once: true }
+ );
+ });
+
+ const retryPromise = response.retry({
+ payer: { name: "Change me!" },
+ });
+ await promise_rejects(
+ t,
+ "InvalidStateError",
+ eventPromise,
+ "The event loop already spun, so [[waitForUpdate]] is now true"
+ );
+ await retryPromise;
+ await response.complete("success");
+ }, testName.trim());
+}
+</script>
+<h2>Handling PaymentResponse.prototype.onpayerdetailchange events</h2>
+<p>
+ The test brings up the Payment Request UI window.
+ When shown the payment sheet, use any details and hit pay.
+</p>
+<p>
+ When asked to retry the payment:
+</p>
+<ol>
+ <li>
+ <p>
+ Change payer's name to anything.
+ </p>
+ <button onclick="testImmediateUpdate(this);">
+ updateWith() must be called immediately, otherwise must throw an InvalidStateError.
+ </button>
+ </li>
+ <li>
+ <button onclick="done();">DONE!</button>
+ </li>
+</ol>
+<small>
+ If you find a buggy test, please <a href="https://github.com/web-platform-tests/wpt/issues">file a bug</a>
+ and tag one of the <a href="https://github.com/web-platform-tests/wpt/blob/master/payment-request/OWNERS">owners</a>.
+</small>
diff --git a/tests/wpt/web-platform-tests/portals/portals-post-message.sub.html b/tests/wpt/web-platform-tests/portals/portals-post-message.sub.html
index 9fc6f6192cf..fe58e25180e 100644
--- a/tests/wpt/web-platform-tests/portals/portals-post-message.sub.html
+++ b/tests/wpt/web-platform-tests/portals/portals-post-message.sub.html
@@ -3,7 +3,10 @@
<meta name="timeout" content="long">
<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>
<body>
+ <input id="input"/>
<script>
const sameOriginUrl = "resources/portal-post-message-portal.html"
const crossOriginUrl = "http://{{hosts[alt][www]}}:{{ports[http][0]}}/portals/resources/portal-post-message-cross-origin-portal.sub.html"
@@ -35,20 +38,33 @@
});
}
+ function postMessageWithMessagePorts(portal, message, targetOrigin) {
+ return new Promise((resolve, reject) => {
+ var channel = new MessageChannel();
+ channel.port1.onmessage = e => {
+ channel.port1.close();
+ resolve(e.data);
+ };
+ portal.postMessage(message, targetOrigin, [channel.port2]);
+ });
+ }
+
promise_test(async () => {
var portal = await createAndInsertPortal(sameOriginUrl);
var message = "test message";
- var {origin, data} = await postMessage(portal, message, "*");
+ var {origin, data, sourceIsPortalHost} = await postMessage(portal, message, "*");
assert_equals(data, message);
assert_equals(origin, window.location.origin);
+ assert_true(sourceIsPortalHost);
}, "postMessage message received by portalHost");
promise_test(async () => {
var portal = await createAndInsertPortal(crossOriginUrl);
var message = "test message";
- var {origin, data} = await postMessage(portal, message, "*");
+ var {origin, data, sourceIsPortalHost} = await postMessage(portal, message, "*");
assert_equals(data, message);
assert_equals(origin, window.location.origin);
+ assert_true(sourceIsPortalHost);
}, "postMessage message received by portalHost in cross-origin portal");
promise_test(async () => {
@@ -71,12 +87,100 @@
assert_equals(data, message);
}, "postMessage received by portal host in cross-origin portal when target origin is specified");
+ promise_test(async () => {
+ var portal = await createAndInsertPortal(sameOriginUrl);
+ var message = {
+ prop1: "value1",
+ prop2: 2.5,
+ prop3: [1, 2, "3"],
+ prop4: {
+ prop4_1: "value4_1"
+ }
+ }
+ var {data} = await postMessage(portal, message);
+ assert_object_equals(data, message);
+ }, "postMessage with message object");
+
+ promise_test(async () => {
+ var portal = await createAndInsertPortal(sameOriginUrl);
+ var message = "test message";
+ var {data} = await postMessageWithMessagePorts(portal, message, "*");
+ assert_equals(data, message);
+ }, "postMessage with message ports and same-origin portal");
+
+ promise_test(async () => {
+ var portal = await createAndInsertPortal(crossOriginUrl);
+ var message = "test message";
+ var {data} = await postMessageWithMessagePorts(portal, message, "*");
+ assert_equals(data, message);
+ }, "postMessage with message ports and cross-origin portal");
+
+ promise_test(async () => {
+ var portal = await createAndInsertPortal(sameOriginUrl);
+ var arrayBuffer = new ArrayBuffer(5);
+ var int8View = new Int8Array(arrayBuffer);
+ for (var i = 0; i < int8View.length; i++)
+ int8View[i] = i;
+ var message = {
+ arrayBuffer: arrayBuffer
+ };
+ var {data} = await postMessage(portal, message, "*");
+ assert_array_equals([0, 1, 2, 3, 4], int8View);
+ assert_array_equals([0, 1, 2, 3, 4], data.array);
+ }, "postMessage with array buffer without transfer");
+
+ promise_test(async () => {
+ var portal = await createAndInsertPortal(sameOriginUrl);
+ var arrayBuffer = new ArrayBuffer(5);
+ var int8View = new Int8Array(arrayBuffer);
+ for (var i = 0; i < int8View.length; i++)
+ int8View[i] = i;
+ var message = {
+ arrayBuffer: arrayBuffer
+ };
+ var {data} = await postMessage(portal, message, "*", [arrayBuffer]);
+ assert_equals(int8View.length, 0);
+ assert_array_equals(data.array, [0, 1, 2, 3, 4]);
+ }, "postMessage with transferred array buffer");
+
+ promise_test(async t => {
+ var portal = await createAndInsertPortal(sameOriginUrl);
+
+ var {gotUserActivation} = await postMessage(portal, "test");
+ assert_false(gotUserActivation);
+
+ var {gotUserActivation, userActivation} = await postMessage(portal, "test", {includeUserActivation: true});
+ assert_true(gotUserActivation);
+ assert_false(userActivation.isActive);
+ assert_false(userActivation.hasBeenActive);
+
+ await test_driver.click(document.getElementById("input"));
+ assert_true(navigator.userActivation.isActive);
+ assert_true(navigator.userActivation.hasBeenActive);
+
+ var {userActivation} = await postMessage(portal, "test", {includeUserActivation: true});
+ assert_true(userActivation.isActive, "should have sent gesture");
+ assert_true(userActivation.hasBeenActive);
+ }, "postMessage with includeUserActivation");
+
promise_test(async t => {
var portal = document.createElement("portal");
return promise_rejects(t, "InvalidStateError",
postMessage(portal, "test message"));
}, "cannot call postMessage on portal without portal browsing context");
+ promise_test(async t => {
+ var portal = await createAndInsertPortal(sameOriginUrl);
+ return promise_rejects(t, "DataCloneError",
+ postMessage(portal, document.body));
+ }, "postMessage should fail if message serialization fails");
+
+ promise_test(async t => {
+ var portal = await createAndInsertPortal(sameOriginUrl);
+ return promise_rejects(t, new TypeError(),
+ postMessage(portal, "test", "*", [null]));
+ }, "postMessage should fail with invalid ports");
+
async function waitForMessage(channelName) {
var bc = new BroadcastChannel(channelName);
return new Promise((resolve, reject) => {
diff --git a/tests/wpt/web-platform-tests/portals/resources/portal-post-message-cross-origin-portal.sub.html b/tests/wpt/web-platform-tests/portals/resources/portal-post-message-cross-origin-portal.sub.html
index 4aca1bde698..577c10ac666 100644
--- a/tests/wpt/web-platform-tests/portals/resources/portal-post-message-cross-origin-portal.sub.html
+++ b/tests/wpt/web-platform-tests/portals/resources/portal-post-message-cross-origin-portal.sub.html
@@ -13,8 +13,14 @@
window.portalHost.addEventListener("message", e => {
var message = {
origin: e.origin,
- data: e.data
+ data: e.data,
+ sourceIsPortalHost: e.source === window.portalHost
};
+ if (e.ports.length > 0) {
+ e.ports[0].postMessage(message);
+ e.ports[0].close();
+ return;
+ }
forwardingIframe.contentWindow.postMessage(message, "*");
});
</script>
diff --git a/tests/wpt/web-platform-tests/portals/resources/portal-post-message-portal.html b/tests/wpt/web-platform-tests/portals/resources/portal-post-message-portal.html
index c657894f8ac..539048c13f5 100644
--- a/tests/wpt/web-platform-tests/portals/resources/portal-post-message-portal.html
+++ b/tests/wpt/web-platform-tests/portals/resources/portal-post-message-portal.html
@@ -6,8 +6,27 @@
window.portalHost.addEventListener("message", e => {
var message = {
origin: e.origin,
- data: e.data
+ data: e.data,
+ sourceIsPortalHost: e.source === window.portalHost,
+ gotUserActivation: !!e.userActivation,
+ userActivation: {
+ isActive: e.userActivation && e.userActivation.isActive,
+ hasBeenActive: e.userActivation && e.userActivation.hasBeenActive
+ }
};
+
+ if (e.data.arrayBuffer) {
+ message.data = {
+ array: Array.from(new Uint8Array(e.data.arrayBuffer))
+ };
+ }
+
+ if (e.ports.length > 0) {
+ e.ports[0].postMessage(message);
+ e.ports[0].close();
+ return;
+ }
+
bc = new BroadcastChannel("portals-post-message");
bc.postMessage(message);
bc.close();
diff --git a/tests/wpt/web-platform-tests/svg/extensibility/foreignObject/compositing-backface-visibility-ref.html b/tests/wpt/web-platform-tests/svg/extensibility/foreignObject/compositing-backface-visibility-ref.html
new file mode 100644
index 00000000000..b0f504974a5
--- /dev/null
+++ b/tests/wpt/web-platform-tests/svg/extensibility/foreignObject/compositing-backface-visibility-ref.html
@@ -0,0 +1,8 @@
+<!doctype HTML>
+<title>Basic backface-visibility compositing works referece</title>
+<link rel="author" title="Chris Harrelson" href="chrishtr@chromium.org">
+<svg>
+ <foreignObject>
+ <div>Test</div>
+ </foreignObject>
+</svg>
diff --git a/tests/wpt/web-platform-tests/svg/extensibility/foreignObject/compositing-backface-visibility.html b/tests/wpt/web-platform-tests/svg/extensibility/foreignObject/compositing-backface-visibility.html
new file mode 100644
index 00000000000..1551e25f8f9
--- /dev/null
+++ b/tests/wpt/web-platform-tests/svg/extensibility/foreignObject/compositing-backface-visibility.html
@@ -0,0 +1,13 @@
+<!doctype HTML>
+<title>Basic backface-visibility compositing works.</title>
+<link rel="author" title="Chris Harrelson" href="chrishtr@chromium.org">
+<link rel="match" href="compositing-backface-visibility-ref.html">
+<link rel="help" href="https://svgwg.org/svg2-draft/single-page.html#embedded-ForeignObjectElement"/>
+<style>
+ * { backface-visibility: hidden }
+</style>
+<svg>
+ <foreignObject>
+ <div style="will-change: transform">Test</div>
+ </foreignObject>
+</svg>
diff --git a/tests/wpt/web-platform-tests/web-nfc/NFCWriter_push.https.html b/tests/wpt/web-platform-tests/web-nfc/NFCWriter_push.https.html
index f5a0a842736..d53e5023a1b 100644
--- a/tests/wpt/web-platform-tests/web-nfc/NFCWriter_push.https.html
+++ b/tests/wpt/web-platform-tests/web-nfc/NFCWriter_push.https.html
@@ -74,6 +74,25 @@ const invalid_syntax_messages =
createMessage([createRecord('json', 'custom/app+json', test_json_data)]),
];
+const invalid_signals = [
+ "string",
+ 123,
+ {},
+ true,
+ Symbol(),
+ () => {},
+ self
+]
+
+const non_strings = [
+ 123,
+ {},
+ true,
+ Symbol(),
+ () => {},
+ self
+]
+
promise_test(t => {
const writer = new NFCWriter();
const promises = [];
@@ -94,13 +113,19 @@ promise_test(t => {
return Promise.all(promises);
}, "'Test that promise is rejected with SyntaxError if NDEFMessageSource contains invalid records.");
-promise_test(t => {
+promise_test(async t => {
const writer = new NFCWriter();
const controller = new AbortController();
const p = writer.push(test_text_data, { signal: controller.signal });
- controller.abort();
- return promise_rejects(t, 'NoModificationAllowedError', p);
-}, "NFCWriter.push should fail if the instance has already initiated NFC data transfer.");
+ const rejected = promise_rejects(t, 'AbortError', p);
+ let callback_called = false;
+ t.step_timeout(() => {
+ callback_called = true;
+ controller.abort();
+ }, 10);
+ await rejected;
+ assert_true(callback_called, 'timeout should have caused the abort');
+}, "NFCWriter.push should fail if abort push request before push happends.");
promise_test(t => {
const writer = new NFCWriter();
@@ -113,6 +138,16 @@ promise_test(t => {
promise_test(t => {
const writer = new NFCWriter();
+ const promises = [];
+ invalid_signals.forEach(invalid_signal => {
+ promises.push(
+ promise_rejects(t, 'TypeError', writer.push(test_text_data, { signal: invalid_signal })));
+ });
+ return Promise.all(promises);
+}, "NFCWriter.push should fail if signal is not an AbortSignal.");
+
+promise_test(t => {
+ const writer = new NFCWriter();
return promise_rejects(t, new TypeError(), writer.push(test_text_data, { timeout: "invalid"}));
}, "NFCWriter.push should fail with TypeError when invalid timeout is provided.");
@@ -185,4 +220,32 @@ promise_test(() => {
});
}, 'Test that WebNFC API is not accessible from iframe context.');
+promise_test(t => {
+ const writer = new NFCWriter();
+ const promises = [];
+ non_strings.forEach(invalid_url => {
+ promises.push(
+ promise_rejects(t, new TypeError(), writer.push({
+ url: invalid_url,
+ records: [{ recordType: "text", data: 'Hello World' }]
+ }));
+ );
+ });
+ return Promise.all(promises);
+}, "Test that promise is rejected with TypeError if NDEFMessageSource contains non-string url.");
+
+promise_test(t => {
+ const writer = new NFCWriter();
+ const promises = [];
+ non_strings.forEach(invalid_serialNumber => {
+ promises.push(
+ promise_rejects(t, new TypeError(), writer.push({
+ serialNumber: invalid_serialNumber,
+ records: [{ recordType: "text", data: 'Hello World' }]
+ }));
+ );
+ });
+ return Promise.all(promises);
+}, "Test that promise is rejected with TypeError if NDEFMessageSource contains non-string serialNumber.");
+
</script>
diff --git a/tests/wpt/web-platform-tests/web-nfc/NFCWriter_push_signal-manual.https.html b/tests/wpt/web-platform-tests/web-nfc/NFCWriter_push_signal-manual.https.html
new file mode 100644
index 00000000000..f45d0bbbd49
--- /dev/null
+++ b/tests/wpt/web-platform-tests/web-nfc/NFCWriter_push_signal-manual.https.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>Web NFC Test: NFCWriter signal test</title>
+<link rel="author" title="Intel" href="http://www.intel.com"/>
+<link rel="help" href="https://w3c.github.io/web-nfc/"/>
+<meta name="timeout" content="long">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="resources/nfc_help.js"></script>
+<meta name="flags" content="interact">
+
+<p>Tap an NFC tag to the test device with NFC support.</p>
+
+<p>Note: All the actions need to be done in 60 seconds, otherwise it will get TIMEOUT.</p>
+
+<div id="log"></div>
+
+<script>
+
+"use strict";
+
+setup({ explicit_timeout: true });
+
+promise_test(async t => {
+ const writer = new NFCWriter();
+ const reader = new NFCReader();
+ const controller = new AbortController();
+
+ const p1 = writer.push(test_text_data, { signal: controller.signal });
+ const p2 = writer.push(test_text_data);
+
+ // Even though push request is grantable, this abort should be processed synchronously.
+ controller.abort();
+ await promise_rejects(t, 'AbortError', p1);
+ await p2;
+
+ const readerWatcher = new EventWatcher(t, reader, ["reading", "error"]);
+ reader.start();
+ const event = await readerWatcher.wait_for("reading");
+ for (let record of event.message.records) {
+ assert_equals(record.data, test_text_data);
+ }
+}, "Synchronously signaled abort.");
+
+</script>