aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbors-servo <servo-ops@mozilla.com>2020-07-13 06:26:59 -0400
committerGitHub <noreply@github.com>2020-07-13 06:26:59 -0400
commitd2a593faed8dc05917d82bfc5a6eb0d647a44867 (patch)
tree5cc36a321f3b75c8c77c52218eb1f0b4e3602a06
parent967a70bd60abbd53f601906b84c46c4d79072cd1 (diff)
parentf2d9c37be923e43ef0625266aa0d2cac1769d153 (diff)
downloadservo-d2a593faed8dc05917d82bfc5a6eb0d647a44867.tar.gz
servo-d2a593faed8dc05917d82bfc5a6eb0d647a44867.zip
Auto merge of #27249 - servo-wpt-sync:wpt_update_13-07-2020, r=servo-wpt-sync
Sync WPT with upstream (13-07-2020) Automated downstream sync of changes from upstream as of 13-07-2020. [no-wpt-sync] r? @servo-wpt-sync
-rw-r--r--tests/wpt/metadata-layout-2020/FileAPI/url/url-charset.window.js.ini5
-rw-r--r--tests/wpt/metadata-layout-2020/FileAPI/url/url-in-tags-revoke.window.js.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-002.html.ini4
-rw-r--r--tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-004.html.ini4
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-transforms/transform-scale-hittest.html.ini3
-rw-r--r--tests/wpt/metadata-layout-2020/css/cssom-view/elementsFromPoint-invalid-cases.html.ini4
-rw-r--r--tests/wpt/metadata-layout-2020/css/selectors/first-line-bidi-001.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/css/selectors/first-line-bidi-002.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/fetch/content-type/response.window.js.ini8
-rw-r--r--tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini4
-rw-r--r--tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini (renamed from tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini)2
-rw-r--r--tests/wpt/metadata-layout-2020/html/browsers/origin/cross-origin-objects/cross-origin-objects-on-new-window.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/html/browsers/windows/embedded-opener-remove-frame.html.ini3
-rw-r--r--tests/wpt/metadata-layout-2020/html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference.html.ini3
-rw-r--r--tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html.ini1
-rw-r--r--tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini3
-rw-r--r--tests/wpt/metadata-layout-2020/html/semantics/forms/form-submission-0/form-double-submit-3.html.ini4
-rw-r--r--tests/wpt/metadata-layout-2020/html/semantics/scripting-1/the-script-element/execution-timing/077.html.ini4
-rw-r--r--tests/wpt/metadata-layout-2020/html/semantics/scripting-1/the-script-element/script-onerror-insertion-point-2.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/html/webappapis/scripting/events/compile-event-handler-settings-objects.html.ini3
-rw-r--r--tests/wpt/metadata-layout-2020/webmessaging/with-ports/018.html.ini (renamed from tests/wpt/metadata-layout-2020/webmessaging/without-ports/018.html.ini)0
-rw-r--r--tests/wpt/metadata-layout-2020/workers/constructors/Worker/Worker-constructor.html.ini2
-rw-r--r--tests/wpt/metadata/FileAPI/url/url-charset.window.js.ini5
-rw-r--r--tests/wpt/metadata/FileAPI/url/url-in-tags-revoke.window.js.ini2
-rw-r--r--tests/wpt/metadata/MANIFEST.json34
-rw-r--r--tests/wpt/metadata/css/CSS2/floats/hit-test-floats-002.html.ini4
-rw-r--r--tests/wpt/metadata/css/CSS2/floats/hit-test-floats-004.html.ini4
-rw-r--r--tests/wpt/metadata/css/css-transforms/transform-scale-hittest.html.ini3
-rw-r--r--tests/wpt/metadata/css/cssom-view/elementsFromPoint-invalid-cases.html.ini4
-rw-r--r--tests/wpt/metadata/css/selectors/first-line-bidi-001.html.ini2
-rw-r--r--tests/wpt/metadata/css/selectors/first-line-bidi-002.html.ini2
-rw-r--r--tests/wpt/metadata/fetch/content-type/response.window.js.ini8
-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/browsers/history/the-history-interface/traverse_the_history_5.html.ini (renamed from tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini)2
-rw-r--r--tests/wpt/metadata/html/browsers/origin/cross-origin-objects/cross-origin-objects-on-new-window.html.ini2
-rw-r--r--tests/wpt/metadata/html/browsers/windows/embedded-opener-remove-frame.html.ini3
-rw-r--r--tests/wpt/metadata/html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference.html.ini3
-rw-r--r--tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html.ini1
-rw-r--r--tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini2
-rw-r--r--tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini3
-rw-r--r--tests/wpt/metadata/html/semantics/forms/form-submission-0/form-double-submit-3.html.ini4
-rw-r--r--tests/wpt/metadata/html/semantics/scripting-1/the-script-element/execution-timing/077.html.ini4
-rw-r--r--tests/wpt/metadata/html/semantics/scripting-1/the-script-element/script-onerror-insertion-point-2.html.ini2
-rw-r--r--tests/wpt/metadata/html/webappapis/scripting/events/compile-event-handler-settings-objects.html.ini3
-rw-r--r--tests/wpt/metadata/webmessaging/with-ports/018.html.ini (renamed from tests/wpt/metadata/webmessaging/without-ports/018.html.ini)0
-rw-r--r--tests/wpt/metadata/workers/constructors/Worker/Worker-constructor.html.ini2
-rw-r--r--tests/wpt/web-platform-tests/css/selectors/first-line-bidi-001-ref.html99
-rw-r--r--tests/wpt/web-platform-tests/css/selectors/first-line-bidi-001.html102
-rw-r--r--tests/wpt/web-platform-tests/css/selectors/first-line-bidi-002-ref.html99
-rw-r--r--tests/wpt/web-platform-tests/css/selectors/first-line-bidi-002.html103
51 files changed, 513 insertions, 62 deletions
diff --git a/tests/wpt/metadata-layout-2020/FileAPI/url/url-charset.window.js.ini b/tests/wpt/metadata-layout-2020/FileAPI/url/url-charset.window.js.ini
deleted file mode 100644
index 7248ba77bd5..00000000000
--- a/tests/wpt/metadata-layout-2020/FileAPI/url/url-charset.window.js.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[url-charset.window.html]
- expected: TIMEOUT
- [Blob charset should override any auto-detected charset.]
- expected: TIMEOUT
-
diff --git a/tests/wpt/metadata-layout-2020/FileAPI/url/url-in-tags-revoke.window.js.ini b/tests/wpt/metadata-layout-2020/FileAPI/url/url-in-tags-revoke.window.js.ini
index 3605e8f3fc9..76b44d9e9cf 100644
--- a/tests/wpt/metadata-layout-2020/FileAPI/url/url-in-tags-revoke.window.js.ini
+++ b/tests/wpt/metadata-layout-2020/FileAPI/url/url-in-tags-revoke.window.js.ini
@@ -4,7 +4,7 @@
expected: TIMEOUT
[Opening a blob URL in a new window immediately before revoking it works.]
- expected: TIMEOUT
+ expected: FAIL
[Fetching a blob URL immediately before revoking it works in an iframe.]
expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-002.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-002.html.ini
deleted file mode 100644
index f64b45fea6b..00000000000
--- a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-002.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[hit-test-floats-002.html]
- [Hit test float]
- expected: FAIL
-
diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-004.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-004.html.ini
new file mode 100644
index 00000000000..4bfb0c2053a
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-004.html.ini
@@ -0,0 +1,4 @@
+[hit-test-floats-004.html]
+ [Miss float below something else]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata-layout-2020/css/css-transforms/transform-scale-hittest.html.ini b/tests/wpt/metadata-layout-2020/css/css-transforms/transform-scale-hittest.html.ini
index f8e7e539aae..4a1e8110f6f 100644
--- a/tests/wpt/metadata-layout-2020/css/css-transforms/transform-scale-hittest.html.ini
+++ b/tests/wpt/metadata-layout-2020/css/css-transforms/transform-scale-hittest.html.ini
@@ -2,6 +2,3 @@
[Hit test intersecting scaled box]
expected: FAIL
- [Hit test within unscaled box]
- expected: FAIL
-
diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/elementsFromPoint-invalid-cases.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/elementsFromPoint-invalid-cases.html.ini
deleted file mode 100644
index e181af5397f..00000000000
--- a/tests/wpt/metadata-layout-2020/css/cssom-view/elementsFromPoint-invalid-cases.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[elementsFromPoint-invalid-cases.html]
- [The root element is the last element returned for otherwise empty queries within the viewport]
- expected: FAIL
-
diff --git a/tests/wpt/metadata-layout-2020/css/selectors/first-line-bidi-001.html.ini b/tests/wpt/metadata-layout-2020/css/selectors/first-line-bidi-001.html.ini
new file mode 100644
index 00000000000..55e21381bad
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/selectors/first-line-bidi-001.html.ini
@@ -0,0 +1,2 @@
+[first-line-bidi-001.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/selectors/first-line-bidi-002.html.ini b/tests/wpt/metadata-layout-2020/css/selectors/first-line-bidi-002.html.ini
new file mode 100644
index 00000000000..368773f14e5
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/selectors/first-line-bidi-002.html.ini
@@ -0,0 +1,2 @@
+[first-line-bidi-002.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/fetch/content-type/response.window.js.ini b/tests/wpt/metadata-layout-2020/fetch/content-type/response.window.js.ini
index e10e8e7e2f3..6b67f8f167b 100644
--- a/tests/wpt/metadata-layout-2020/fetch/content-type/response.window.js.ini
+++ b/tests/wpt/metadata-layout-2020/fetch/content-type/response.window.js.ini
@@ -321,15 +321,9 @@
[<iframe>: combined response Content-Type: text/html;x=" text/plain]
expected: FAIL
- [<iframe>: separate response Content-Type: text/html;x=" text/plain]
- expected: FAIL
-
[<iframe>: separate response Content-Type: text/html;" \\" text/plain]
expected: FAIL
- [<iframe>: combined response Content-Type: */* text/html]
- expected: FAIL
-
- [<iframe>: separate response Content-Type: text/html */*;charset=gbk]
+ [<iframe>: combined response Content-Type: text/html;" text/plain]
expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini b/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini
new file mode 100644
index 00000000000..87b07c3e670
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini
@@ -0,0 +1,4 @@
+[traverse_the_history_1.html]
+ [Multiple history traversals from the same task]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini b/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini
index 385376c7321..dc2e45516de 100644
--- a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini
+++ b/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini
@@ -1,4 +1,4 @@
-[traverse_the_history_4.html]
+[traverse_the_history_5.html]
[Multiple history traversals, last would be aborted]
expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/html/browsers/origin/cross-origin-objects/cross-origin-objects-on-new-window.html.ini b/tests/wpt/metadata-layout-2020/html/browsers/origin/cross-origin-objects/cross-origin-objects-on-new-window.html.ini
new file mode 100644
index 00000000000..735a9a75a2a
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/html/browsers/origin/cross-origin-objects/cross-origin-objects-on-new-window.html.ini
@@ -0,0 +1,2 @@
+[cross-origin-objects-on-new-window.html]
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata-layout-2020/html/browsers/windows/embedded-opener-remove-frame.html.ini b/tests/wpt/metadata-layout-2020/html/browsers/windows/embedded-opener-remove-frame.html.ini
index 9a85a905394..8e2b6af33d8 100644
--- a/tests/wpt/metadata-layout-2020/html/browsers/windows/embedded-opener-remove-frame.html.ini
+++ b/tests/wpt/metadata-layout-2020/html/browsers/windows/embedded-opener-remove-frame.html.ini
@@ -1,7 +1,8 @@
[embedded-opener-remove-frame.html]
+ expected: TIMEOUT
[opener of discarded nested browsing context]
expected: FAIL
[opener of discarded auxiliary browsing context]
- expected: FAIL
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference.html.ini
index 5c3ac06f42a..09ae27d7480 100644
--- a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference.html.ini
+++ b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference.html.ini
@@ -171,3 +171,6 @@
[XHTML img usemap="#hash-id"]
expected: FAIL
+ [HTML (standards) IMG usemap="no-hash-name"]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html.ini
index 4df5d7a35de..daa518bd0e3 100644
--- a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html.ini
+++ b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html.ini
@@ -1,4 +1,5 @@
[iframe_sandbox_popups_escaping-2.html]
+ expected: CRASH
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini
index d913fcbb129..3080be9afc0 100644
--- a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini
+++ b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini
@@ -1,5 +1,5 @@
[iframe_sandbox_popups_nonescaping-1.html]
- expected: TIMEOUT
+ expected: CRASH
[Check that popups from a sandboxed iframe do not escape the sandbox]
expected: NOTRUN
diff --git a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini
index f4f994c5d6f..7a36937927c 100644
--- a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini
+++ b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini
@@ -1,5 +1,4 @@
[iframe_sandbox_popups_nonescaping-3.html]
- expected: TIMEOUT
[Check that popups from a sandboxed iframe do not escape the sandbox]
- expected: NOTRUN
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/html/semantics/forms/form-submission-0/form-double-submit-3.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/forms/form-submission-0/form-double-submit-3.html.ini
new file mode 100644
index 00000000000..9f416703229
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/html/semantics/forms/form-submission-0/form-double-submit-3.html.ini
@@ -0,0 +1,4 @@
+[form-double-submit-3.html]
+ [<button> should have the same double-submit protection as <input type=submit>]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata-layout-2020/html/semantics/scripting-1/the-script-element/execution-timing/077.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/scripting-1/the-script-element/execution-timing/077.html.ini
new file mode 100644
index 00000000000..bcd2fd0eab8
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/html/semantics/scripting-1/the-script-element/execution-timing/077.html.ini
@@ -0,0 +1,4 @@
+[077.html]
+ [ adding several types of scripts through the DOM and removing some of them confuses scheduler ]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata-layout-2020/html/semantics/scripting-1/the-script-element/script-onerror-insertion-point-2.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/scripting-1/the-script-element/script-onerror-insertion-point-2.html.ini
new file mode 100644
index 00000000000..178680e5d14
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/html/semantics/scripting-1/the-script-element/script-onerror-insertion-point-2.html.ini
@@ -0,0 +1,2 @@
+[script-onerror-insertion-point-2.html]
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata-layout-2020/html/webappapis/scripting/events/compile-event-handler-settings-objects.html.ini b/tests/wpt/metadata-layout-2020/html/webappapis/scripting/events/compile-event-handler-settings-objects.html.ini
index dbec6f2c2ff..450c88bd32b 100644
--- a/tests/wpt/metadata-layout-2020/html/webappapis/scripting/events/compile-event-handler-settings-objects.html.ini
+++ b/tests/wpt/metadata-layout-2020/html/webappapis/scripting/events/compile-event-handler-settings-objects.html.ini
@@ -3,3 +3,6 @@
[The incumbent settings object while executing the compiled callback via Web IDL's invoke must be that of the node document]
expected: TIMEOUT
+ [The entry settings object while executing the compiled callback via Web IDL's invoke must be that of the node document]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata-layout-2020/webmessaging/without-ports/018.html.ini b/tests/wpt/metadata-layout-2020/webmessaging/with-ports/018.html.ini
index 663a1f8fa30..663a1f8fa30 100644
--- a/tests/wpt/metadata-layout-2020/webmessaging/without-ports/018.html.ini
+++ b/tests/wpt/metadata-layout-2020/webmessaging/with-ports/018.html.ini
diff --git a/tests/wpt/metadata-layout-2020/workers/constructors/Worker/Worker-constructor.html.ini b/tests/wpt/metadata-layout-2020/workers/constructors/Worker/Worker-constructor.html.ini
deleted file mode 100644
index 80f9a4f15b8..00000000000
--- a/tests/wpt/metadata-layout-2020/workers/constructors/Worker/Worker-constructor.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[Worker-constructor.html]
- expected: ERROR
diff --git a/tests/wpt/metadata/FileAPI/url/url-charset.window.js.ini b/tests/wpt/metadata/FileAPI/url/url-charset.window.js.ini
deleted file mode 100644
index 7248ba77bd5..00000000000
--- a/tests/wpt/metadata/FileAPI/url/url-charset.window.js.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[url-charset.window.html]
- expected: TIMEOUT
- [Blob charset should override any auto-detected charset.]
- expected: TIMEOUT
-
diff --git a/tests/wpt/metadata/FileAPI/url/url-in-tags-revoke.window.js.ini b/tests/wpt/metadata/FileAPI/url/url-in-tags-revoke.window.js.ini
index faa00f45ecf..d4f62ed7113 100644
--- a/tests/wpt/metadata/FileAPI/url/url-in-tags-revoke.window.js.ini
+++ b/tests/wpt/metadata/FileAPI/url/url-in-tags-revoke.window.js.ini
@@ -7,7 +7,7 @@
expected: FAIL
[Opening a blob URL in a new window immediately before revoking it works.]
- expected: TIMEOUT
+ expected: FAIL
[Opening a blob URL in a noopener about:blank window immediately before revoking it works.]
expected: TIMEOUT
diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json
index bb3c4754bb6..93ce9b33c4e 100644
--- a/tests/wpt/metadata/MANIFEST.json
+++ b/tests/wpt/metadata/MANIFEST.json
@@ -212859,6 +212859,32 @@
{}
]
],
+ "first-line-bidi-001.html": [
+ "608a0cabd538ddfd01c7a55f1d8f5d91e633e51b",
+ [
+ null,
+ [
+ [
+ "/css/selectors/first-line-bidi-001-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "first-line-bidi-002.html": [
+ "3d3f0ead8ba272d2e25707ebe8af528f490748fa",
+ [
+ null,
+ [
+ [
+ "/css/selectors/first-line-bidi-002-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"floating-first-letter-05d0.html": [
"68bc77b40f325bf486b15176022578198867297c",
[
@@ -316944,6 +316970,14 @@
}
}
},
+ "first-line-bidi-001-ref.html": [
+ "beb6caf5c4714fcc8ddb52132376081b812ed044",
+ []
+ ],
+ "first-line-bidi-002-ref.html": [
+ "737ef1ec2121c411b2f0ea1b99ee4d4abb8c4659",
+ []
+ ],
"floating-first-letter-ref.html": [
"3c3141a862df19ad62f343e00b37f248fbd845b1",
[]
diff --git a/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-002.html.ini b/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-002.html.ini
deleted file mode 100644
index f64b45fea6b..00000000000
--- a/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-002.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[hit-test-floats-002.html]
- [Hit test float]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-004.html.ini b/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-004.html.ini
new file mode 100644
index 00000000000..4bfb0c2053a
--- /dev/null
+++ b/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-004.html.ini
@@ -0,0 +1,4 @@
+[hit-test-floats-004.html]
+ [Miss float below something else]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/css-transforms/transform-scale-hittest.html.ini b/tests/wpt/metadata/css/css-transforms/transform-scale-hittest.html.ini
index f8e7e539aae..4a1e8110f6f 100644
--- a/tests/wpt/metadata/css/css-transforms/transform-scale-hittest.html.ini
+++ b/tests/wpt/metadata/css/css-transforms/transform-scale-hittest.html.ini
@@ -2,6 +2,3 @@
[Hit test intersecting scaled box]
expected: FAIL
- [Hit test within unscaled box]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/css/cssom-view/elementsFromPoint-invalid-cases.html.ini b/tests/wpt/metadata/css/cssom-view/elementsFromPoint-invalid-cases.html.ini
deleted file mode 100644
index e181af5397f..00000000000
--- a/tests/wpt/metadata/css/cssom-view/elementsFromPoint-invalid-cases.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[elementsFromPoint-invalid-cases.html]
- [The root element is the last element returned for otherwise empty queries within the viewport]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/css/selectors/first-line-bidi-001.html.ini b/tests/wpt/metadata/css/selectors/first-line-bidi-001.html.ini
new file mode 100644
index 00000000000..55e21381bad
--- /dev/null
+++ b/tests/wpt/metadata/css/selectors/first-line-bidi-001.html.ini
@@ -0,0 +1,2 @@
+[first-line-bidi-001.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/selectors/first-line-bidi-002.html.ini b/tests/wpt/metadata/css/selectors/first-line-bidi-002.html.ini
new file mode 100644
index 00000000000..368773f14e5
--- /dev/null
+++ b/tests/wpt/metadata/css/selectors/first-line-bidi-002.html.ini
@@ -0,0 +1,2 @@
+[first-line-bidi-002.html]
+ 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 d3fafffecbf..8204e489a58 100644
--- a/tests/wpt/metadata/fetch/content-type/response.window.js.ini
+++ b/tests/wpt/metadata/fetch/content-type/response.window.js.ini
@@ -321,15 +321,9 @@
[<iframe>: combined response Content-Type: text/html;x=" text/plain]
expected: FAIL
- [<iframe>: separate response Content-Type: text/html;x=" text/plain]
- expected: FAIL
-
[<iframe>: separate response Content-Type: text/html;" \\" text/plain]
expected: FAIL
- [<iframe>: combined response Content-Type: */* text/html]
- expected: FAIL
-
- [<iframe>: separate response Content-Type: text/html */*;charset=gbk]
+ [<iframe>: combined response Content-Type: text/html;" text/plain]
expected: FAIL
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
new file mode 100644
index 00000000000..87b07c3e670
--- /dev/null
+++ b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini
@@ -0,0 +1,4 @@
+[traverse_the_history_1.html]
+ [Multiple history traversals from the same task]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata-layout-2020/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_5.html.ini
index 385376c7321..dc2e45516de 100644
--- a/tests/wpt/metadata-layout-2020/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_5.html.ini
@@ -1,4 +1,4 @@
-[traverse_the_history_4.html]
+[traverse_the_history_5.html]
[Multiple history traversals, last would be aborted]
expected: FAIL
diff --git a/tests/wpt/metadata/html/browsers/origin/cross-origin-objects/cross-origin-objects-on-new-window.html.ini b/tests/wpt/metadata/html/browsers/origin/cross-origin-objects/cross-origin-objects-on-new-window.html.ini
new file mode 100644
index 00000000000..735a9a75a2a
--- /dev/null
+++ b/tests/wpt/metadata/html/browsers/origin/cross-origin-objects/cross-origin-objects-on-new-window.html.ini
@@ -0,0 +1,2 @@
+[cross-origin-objects-on-new-window.html]
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata/html/browsers/windows/embedded-opener-remove-frame.html.ini b/tests/wpt/metadata/html/browsers/windows/embedded-opener-remove-frame.html.ini
index 442db3cb549..fd369192a02 100644
--- a/tests/wpt/metadata/html/browsers/windows/embedded-opener-remove-frame.html.ini
+++ b/tests/wpt/metadata/html/browsers/windows/embedded-opener-remove-frame.html.ini
@@ -1,4 +1,5 @@
[embedded-opener-remove-frame.html]
+ expected: TIMEOUT
[opener and "removed" embedded documents]
expected: FAIL
@@ -6,5 +7,5 @@
expected: FAIL
[opener of discarded auxiliary browsing context]
- expected: FAIL
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference.html.ini
index 1de3f8d68b2..98163335e40 100644
--- a/tests/wpt/metadata/html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference.html.ini
+++ b/tests/wpt/metadata/html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference.html.ini
@@ -172,3 +172,6 @@
[XHTML img usemap="http://example.org/#garbage-before-hash-id"]
expected: FAIL
+ [HTML (standards) IMG usemap="no-hash-name"]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html.ini
index 4df5d7a35de..daa518bd0e3 100644
--- a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html.ini
+++ b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html.ini
@@ -1,4 +1,5 @@
[iframe_sandbox_popups_escaping-2.html]
+ expected: CRASH
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
expected: FAIL
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini
index 9df1ac56f2a..963d4cd20ef 100644
--- a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini
+++ b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini
@@ -1,6 +1,6 @@
[iframe_sandbox_popups_nonescaping-1.html]
type: testharness
- expected: TIMEOUT
+ expected: CRASH
[Check that popups from a sandboxed iframe do not escape the sandbox]
expected: NOTRUN
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini
index e440b1e38c6..dc856a3d5a3 100644
--- a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini
+++ b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini
@@ -1,6 +1,5 @@
[iframe_sandbox_popups_nonescaping-3.html]
type: testharness
- expected: TIMEOUT
[Check that popups from a sandboxed iframe do not escape the sandbox]
- expected: NOTRUN
+ expected: FAIL
diff --git a/tests/wpt/metadata/html/semantics/forms/form-submission-0/form-double-submit-3.html.ini b/tests/wpt/metadata/html/semantics/forms/form-submission-0/form-double-submit-3.html.ini
new file mode 100644
index 00000000000..9f416703229
--- /dev/null
+++ b/tests/wpt/metadata/html/semantics/forms/form-submission-0/form-double-submit-3.html.ini
@@ -0,0 +1,4 @@
+[form-double-submit-3.html]
+ [<button> should have the same double-submit protection as <input type=submit>]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/html/semantics/scripting-1/the-script-element/execution-timing/077.html.ini b/tests/wpt/metadata/html/semantics/scripting-1/the-script-element/execution-timing/077.html.ini
new file mode 100644
index 00000000000..bcd2fd0eab8
--- /dev/null
+++ b/tests/wpt/metadata/html/semantics/scripting-1/the-script-element/execution-timing/077.html.ini
@@ -0,0 +1,4 @@
+[077.html]
+ [ adding several types of scripts through the DOM and removing some of them confuses scheduler ]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/html/semantics/scripting-1/the-script-element/script-onerror-insertion-point-2.html.ini b/tests/wpt/metadata/html/semantics/scripting-1/the-script-element/script-onerror-insertion-point-2.html.ini
new file mode 100644
index 00000000000..178680e5d14
--- /dev/null
+++ b/tests/wpt/metadata/html/semantics/scripting-1/the-script-element/script-onerror-insertion-point-2.html.ini
@@ -0,0 +1,2 @@
+[script-onerror-insertion-point-2.html]
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata/html/webappapis/scripting/events/compile-event-handler-settings-objects.html.ini b/tests/wpt/metadata/html/webappapis/scripting/events/compile-event-handler-settings-objects.html.ini
index 0cef5158fae..01f7b72cbe7 100644
--- a/tests/wpt/metadata/html/webappapis/scripting/events/compile-event-handler-settings-objects.html.ini
+++ b/tests/wpt/metadata/html/webappapis/scripting/events/compile-event-handler-settings-objects.html.ini
@@ -4,3 +4,6 @@
[The incumbent settings object while executing the compiled callback via Web IDL's invoke must be that of the node document]
expected: TIMEOUT
+ [The entry settings object while executing the compiled callback via Web IDL's invoke must be that of the node document]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/webmessaging/without-ports/018.html.ini b/tests/wpt/metadata/webmessaging/with-ports/018.html.ini
index 663a1f8fa30..663a1f8fa30 100644
--- a/tests/wpt/metadata/webmessaging/without-ports/018.html.ini
+++ b/tests/wpt/metadata/webmessaging/with-ports/018.html.ini
diff --git a/tests/wpt/metadata/workers/constructors/Worker/Worker-constructor.html.ini b/tests/wpt/metadata/workers/constructors/Worker/Worker-constructor.html.ini
deleted file mode 100644
index 80f9a4f15b8..00000000000
--- a/tests/wpt/metadata/workers/constructors/Worker/Worker-constructor.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[Worker-constructor.html]
- expected: ERROR
diff --git a/tests/wpt/web-platform-tests/css/selectors/first-line-bidi-001-ref.html b/tests/wpt/web-platform-tests/css/selectors/first-line-bidi-001-ref.html
new file mode 100644
index 00000000000..beb6caf5c47
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/selectors/first-line-bidi-001-ref.html
@@ -0,0 +1,99 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>Reference for ::first-line selector with bidi content</title>
+<style>
+body { font: 12px arial, sans-serif; }
+table { font-size: 10px; }
+tr td { margin: 1em 1em; border: 1px solid gray; width: 16em; }
+td:nth-child(1) { text-align: left; }
+td:nth-child(2) { text-align: center; }
+td:nth-child(3) { text-align: right; }
+span.first { color: green; background: pink; }
+th { padding: 1em; }
+td { padding: 2px; }
+td p { margin: 0; }
+xl { float: left; font-size: 2.5em; }
+xr { float: right; font-size: 2.5em; }
+</style>
+<p>In each box, the first-line text should be <span style="color:green; background:pink">green on pink</span>
+and should never project outside the box:</p>
+<table>
+<tr><th><code>text-align:left</code></th><th><code>text-align:center</code></th><th><code>text-align:right</code></th></tr>
+<tr>
+ <!-- no padding/indent -->
+ <td>
+ <p><span class=first><span dir=rtl>الخت العربي</span> one ايك two</span><br> دو three تين four</p>
+ </td>
+ <td>
+ <p><span class=first><span dir=rtl>الخت العربي</span> one ايك two</span><br> دو three تين four</p>
+ </td>
+ <td>
+ <p><span class=first><span dir=rtl>الخت العربي</span> one ايك two</span><br> دو three تين four</p>
+ </td>
+</tr>
+
+<tr>
+ <!-- padding-left:1em -->
+ <td>
+ <p style="padding-left:1em"><span class=first><span dir=rtl>الخت العربي</span> one ايك two</span><br> دو three تين four</p>
+ </td>
+ <td>
+ <p style="padding-left:1em"><span class=first><span dir=rtl>الخت العربي</span> one ايك two</span><br> دو three تين four</p>
+ </td>
+ <td>
+ <p style="padding-left:1em"><span class=first><span dir=rtl>الخت العربي</span> one ايك two</span><br> دو three تين four</p>
+ </td>
+</tr>
+
+<tr>
+ <!-- padding-right:1em -->
+ <td>
+ <p style="padding-right:1em"><span class=first><span dir=rtl>الخت العربي</span> one ايك two</span><br> دو three تين four</p>
+ </td>
+ <td>
+ <p style="padding-right:1em"><span class=first><span dir=rtl>الخت العربي</span> one ايك two</span><br> دو three تين four</p>
+ </td>
+ <td>
+ <p style="padding-right:1em"><span class=first><span dir=rtl>الخت العربي</span> one ايك two</span><br> دو three تين four</p>
+ </td>
+</tr>
+
+<tr>
+ <!-- text-indent:2em -->
+ <td>
+ <p style="text-indent:2em"><span class=first><span dir=rtl>الخت العربي</span> one ايك two</span><br> دو three تين four</p>
+ </td>
+ <td>
+ <p style="text-indent:2em"><span class=first><span dir=rtl>الخت العربي</span> one ايك two</span><br> دو three تين four</p>
+ </td>
+ <td>
+ <p style="text-indent:2em"><span class=first><span dir=rtl>الخت العربي</span> one ايك two</span><br> دو three تين four</p>
+ </td>
+</tr>
+
+<tr>
+ <!-- initial with float:left -->
+ <td>
+ <p><xl>A</xl><span class=first><span dir=rtl>الخت العربي</span> one ايك two</span><br> دو three تين four</p>
+ </td>
+ <td>
+ <p><xl>A</xl><span class=first><span dir=rtl>الخت العربي</span> one ايك two</span><br> دو three تين four</p>
+ </td>
+ <td>
+ <p><xl>A</xl><span class=first><span dir=rtl>الخت العربي</span> one ايك two</span><br> دو three تين four</p>
+ </td>
+</tr>
+
+<tr>
+ <!-- initial with float:right -->
+ <td>
+ <p><xr>Z</xr><span class=first><span dir=rtl>الخت العربي</span> one ايك two</span><br> دو three تين four</p>
+ </td>
+ <td>
+ <p><xr>Z</xr><span class=first><span dir=rtl>الخت العربي</span> one ايك two</span><br> دو three تين four</p>
+ </td>
+ <td>
+ <p><xr>Z</xr><span class=first><span dir=rtl>الخت العربي</span> one ايك two</span><br> دو three تين four</p>
+ </td>
+</tr>
+</table>
diff --git a/tests/wpt/web-platform-tests/css/selectors/first-line-bidi-001.html b/tests/wpt/web-platform-tests/css/selectors/first-line-bidi-001.html
new file mode 100644
index 00000000000..608a0cabd53
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/selectors/first-line-bidi-001.html
@@ -0,0 +1,102 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>::first-line selector with bidi content</title>
+<meta name="assert" content="The use of ::first-line should not disrupt bidi layout.">
+<link rel=help href=https://drafts.csswg.org/css-pseudo-4/#first-line-styling>
+<link rel=match href=first-line-bidi-001-ref.html>
+<style>
+body { font: 12px arial, sans-serif; }
+table { font-size: 10px; }
+tr td { margin: 1em 1em; border: 1px solid gray; width: 16em; }
+td:nth-child(1) { text-align: left; }
+td:nth-child(2) { text-align: center; }
+td:nth-child(3) { text-align: right; }
+td p::first-line { color: green; background: pink; }
+th { padding: 1em; }
+td { padding: 2px; }
+td p { margin: 0; }
+xl { float: left; font-size: 2.5em; }
+xr { float: right; font-size: 2.5em; }
+</style>
+<p>In each box, the first-line text should be <span style="color:green; background:pink">green on pink</span>
+and should never project outside the box:</p>
+<table>
+<tr><th><code>text-align:left</code></th><th><code>text-align:center</code></th><th><code>text-align:right</code></th></tr>
+<tr>
+ <!-- no padding/indent -->
+ <td>
+ <p><span dir=rtl>الخت العربي</span> one ايك two<br> دو three تين four</p>
+ </td>
+ <td>
+ <p><span dir=rtl>الخت العربي</span> one ايك two<br> دو three تين four</p>
+ </td>
+ <td>
+ <p><span dir=rtl>الخت العربي</span> one ايك two<br> دو three تين four</p>
+ </td>
+</tr>
+
+<tr>
+ <!-- padding-left:1em -->
+ <td>
+ <p style="padding-left:1em"><span dir=rtl>الخت العربي</span> one ايك two<br> دو three تين four</p>
+ </td>
+ <td>
+ <p style="padding-left:1em"><span dir=rtl>الخت العربي</span> one ايك two<br> دو three تين four</p>
+ </td>
+ <td>
+ <p style="padding-left:1em"><span dir=rtl>الخت العربي</span> one ايك two<br> دو three تين four</p>
+ </td>
+</tr>
+
+<tr>
+ <!-- padding-right:1em -->
+ <td>
+ <p style="padding-right:1em"><span dir=rtl>الخت العربي</span> one ايك two<br> دو three تين four</p>
+ </td>
+ <td>
+ <p style="padding-right:1em"><span dir=rtl>الخت العربي</span> one ايك two<br> دو three تين four</p>
+ </td>
+ <td>
+ <p style="padding-right:1em"><span dir=rtl>الخت العربي</span> one ايك two<br> دو three تين four</p>
+ </td>
+</tr>
+
+<tr>
+ <!-- text-indent:2em -->
+ <td>
+ <p style="text-indent:2em"><span dir=rtl>الخت العربي</span> one ايك two<br> دو three تين four</p>
+ </td>
+ <td>
+ <p style="text-indent:2em"><span dir=rtl>الخت العربي</span> one ايك two<br> دو three تين four</p>
+ </td>
+ <td>
+ <p style="text-indent:2em"><span dir=rtl>الخت العربي</span> one ايك two<br> دو three تين four</p>
+ </td>
+</tr>
+
+<tr>
+ <!-- initial with float:left -->
+ <td>
+ <p><xl>A</xl><span dir=rtl>الخت العربي</span> one ايك two<br> دو three تين four</p>
+ </td>
+ <td>
+ <p><xl>A</xl><span dir=rtl>الخت العربي</span> one ايك two<br> دو three تين four</p>
+ </td>
+ <td>
+ <p><xl>A</xl><span dir=rtl>الخت العربي</span> one ايك two<br> دو three تين four</p>
+ </td>
+</tr>
+
+<tr>
+ <!-- initial with float:right -->
+ <td>
+ <p><xr>Z</xr><span dir=rtl>الخت العربي</span> one ايك two<br> دو three تين four</p>
+ </td>
+ <td>
+ <p><xr>Z</xr><span dir=rtl>الخت العربي</span> one ايك two<br> دو three تين four</p>
+ </td>
+ <td>
+ <p><xr>Z</xr><span dir=rtl>الخت العربي</span> one ايك two<br> دو three تين four</p>
+ </td>
+</tr>
+</table>
diff --git a/tests/wpt/web-platform-tests/css/selectors/first-line-bidi-002-ref.html b/tests/wpt/web-platform-tests/css/selectors/first-line-bidi-002-ref.html
new file mode 100644
index 00000000000..737ef1ec212
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/selectors/first-line-bidi-002-ref.html
@@ -0,0 +1,99 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>Reference for ::first-line selector with bidi content</title>
+<style>
+body { font: 12px arial, sans-serif; }
+table { font-size: 10px; }
+tr td { margin: 1em 1em; border: 1px solid gray; width: 16em; }
+td:nth-child(1) { text-align: left; }
+td:nth-child(2) { text-align: center; }
+td:nth-child(3) { text-align: right; }
+span.first { color: green; background: pink; }
+th { padding: 1em; }
+td { padding: 2px; }
+td p { margin: 0; }
+xl { float: left; font-size: 2.5em; }
+xr { float: right; font-size: 2.5em; }
+</style>
+<p>In each box, the first-line text should be <span style="color:green; background:pink">green on pink</span>
+and should never project outside the box:</p>
+<table>
+<tr><th><code>text-align:left</code></th><th><code>text-align:center</code></th><th><code>text-align:right</code></th></tr>
+<tr>
+ <!-- no padding/indent -->
+ <td>
+ <p dir=rtl><span class=first><span dir=rtl>الخت العربي</span> one ايك two</span><br> دو three تين four</p>
+ </td>
+ <td>
+ <p dir=rtl><span class=first><span dir=rtl>الخت العربي</span> one ايك two</span><br> دو three تين four</p>
+ </td>
+ <td>
+ <p dir=rtl><span class=first><span dir=rtl>الخت العربي</span> one ايك two</span><br> دو three تين four</p>
+ </td>
+</tr>
+
+<tr>
+ <!-- padding-left:1em -->
+ <td>
+ <p dir=rtl style="padding-left:1em"><span class=first><span dir=rtl>الخت العربي</span> one ايك two</span><br> دو three تين four</p>
+ </td>
+ <td>
+ <p dir=rtl style="padding-left:1em"><span class=first><span dir=rtl>الخت العربي</span> one ايك two</span><br> دو three تين four</p>
+ </td>
+ <td>
+ <p dir=rtl style="padding-left:1em"><span class=first><span dir=rtl>الخت العربي</span> one ايك two</span><br> دو three تين four</p>
+ </td>
+</tr>
+
+<tr>
+ <!-- padding-right:1em -->
+ <td>
+ <p dir=rtl style="padding-right:1em"><span class=first><span dir=rtl>الخت العربي</span> one ايك two</span><br> دو three تين four</p>
+ </td>
+ <td>
+ <p dir=rtl style="padding-right:1em"><span class=first><span dir=rtl>الخت العربي</span> one ايك two</span><br> دو three تين four</p>
+ </td>
+ <td>
+ <p dir=rtl style="padding-right:1em"><span class=first><span dir=rtl>الخت العربي</span> one ايك two</span><br> دو three تين four</p>
+ </td>
+</tr>
+
+<tr>
+ <!-- text-indent:2em -->
+ <td>
+ <p dir=rtl style="text-indent:2em"><span class=first><span dir=rtl>الخت العربي</span> one ايك two</span><br> دو three تين four</p>
+ </td>
+ <td>
+ <p dir=rtl style="text-indent:2em"><span class=first><span dir=rtl>الخت العربي</span> one ايك two</span><br> دو three تين four</p>
+ </td>
+ <td>
+ <p dir=rtl style="text-indent:2em"><span class=first><span dir=rtl>الخت العربي</span> one ايك two</span><br> دو three تين four</p>
+ </td>
+</tr>
+
+<tr>
+ <!-- initial with float:left -->
+ <td>
+ <p dir=rtl><xl>A</xl><span class=first><span dir=rtl>الخت العربي</span> one ايك two</span><br> دو three تين four</p>
+ </td>
+ <td>
+ <p dir=rtl><xl>A</xl><span class=first><span dir=rtl>الخت العربي</span> one ايك two</span><br> دو three تين four</p>
+ </td>
+ <td>
+ <p dir=rtl><xl>A</xl><span class=first><span dir=rtl>الخت العربي</span> one ايك two</span><br> دو three تين four</p>
+ </td>
+</tr>
+
+<tr>
+ <!-- initial with float:right -->
+ <td>
+ <p dir=rtl><xr>Z</xr><span class=first><span dir=rtl>الخت العربي</span> one ايك two</span><br> دو three تين four</p>
+ </td>
+ <td>
+ <p dir=rtl><xr>Z</xr><span class=first><span dir=rtl>الخت العربي</span> one ايك two</span><br> دو three تين four</p>
+ </td>
+ <td>
+ <p dir=rtl><xr>Z</xr><span class=first><span dir=rtl>الخت العربي</span> one ايك two</span><br> دو three تين four</p>
+ </td>
+</tr>
+</table>
diff --git a/tests/wpt/web-platform-tests/css/selectors/first-line-bidi-002.html b/tests/wpt/web-platform-tests/css/selectors/first-line-bidi-002.html
new file mode 100644
index 00000000000..3d3f0ead8ba
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/selectors/first-line-bidi-002.html
@@ -0,0 +1,103 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>::first-line selector with bidi content</title>
+<meta name="assert" content="The use of ::first-line should not disrupt bidi layout.">
+<link rel=help href=https://drafts.csswg.org/css-pseudo-4/#first-line-styling>
+<link rel=match href=first-line-bidi-002-ref.html>
+<style>
+body { font: 12px arial, sans-serif; }
+table { font-size: 10px; }
+tr td { margin: 1em 1em; border: 1px solid gray; width: 16em; }
+td:nth-child(1) { text-align: left; }
+td:nth-child(2) { text-align: center; }
+td:nth-child(3) { text-align: right; }
+td p::first-line { color: green; background: pink; }
+th { padding: 1em; }
+td { padding: 2px; }
+td p { margin: 0; }
+xl { float: left; font-size: 2.5em; }
+xr { float: right; font-size: 2.5em; }
+</style>
+<p>In each box, the first-line text should be <span style="color:green; background:pink">green on pink</span>
+and should never project outside the box:</p>
+<!-- Same as first-line-bidi-001 but with dir=rtl on each <p> element -->
+<table>
+<tr><th><code>text-align:left</code></th><th><code>text-align:center</code></th><th><code>text-align:right</code></th></tr>
+<tr>
+ <!-- no padding/indent -->
+ <td>
+ <p dir=rtl><span dir=rtl>الخت العربي</span> one ايك two<br> دو three تين four</p>
+ </td>
+ <td>
+ <p dir=rtl><span dir=rtl>الخت العربي</span> one ايك two<br> دو three تين four</p>
+ </td>
+ <td>
+ <p dir=rtl><span dir=rtl>الخت العربي</span> one ايك two<br> دو three تين four</p>
+ </td>
+</tr>
+
+<tr>
+ <!-- padding-left:1em -->
+ <td>
+ <p dir=rtl style="padding-left:1em"><span dir=rtl>الخت العربي</span> one ايك two<br> دو three تين four</p>
+ </td>
+ <td>
+ <p dir=rtl style="padding-left:1em"><span dir=rtl>الخت العربي</span> one ايك two<br> دو three تين four</p>
+ </td>
+ <td>
+ <p dir=rtl style="padding-left:1em"><span dir=rtl>الخت العربي</span> one ايك two<br> دو three تين four</p>
+ </td>
+</tr>
+
+<tr>
+ <!-- padding-right:1em -->
+ <td>
+ <p dir=rtl style="padding-right:1em"><span dir=rtl>الخت العربي</span> one ايك two<br> دو three تين four</p>
+ </td>
+ <td>
+ <p dir=rtl style="padding-right:1em"><span dir=rtl>الخت العربي</span> one ايك two<br> دو three تين four</p>
+ </td>
+ <td>
+ <p dir=rtl style="padding-right:1em"><span dir=rtl>الخت العربي</span> one ايك two<br> دو three تين four</p>
+ </td>
+</tr>
+
+<tr>
+ <!-- text-indent:2em -->
+ <td>
+ <p dir=rtl style="text-indent:2em"><span dir=rtl>الخت العربي</span> one ايك two<br> دو three تين four</p>
+ </td>
+ <td>
+ <p dir=rtl style="text-indent:2em"><span dir=rtl>الخت العربي</span> one ايك two<br> دو three تين four</p>
+ </td>
+ <td>
+ <p dir=rtl style="text-indent:2em"><span dir=rtl>الخت العربي</span> one ايك two<br> دو three تين four</p>
+ </td>
+</tr>
+
+<tr>
+ <!-- initial with float:left -->
+ <td>
+ <p dir=rtl><xl>A</xl><span dir=rtl>الخت العربي</span> one ايك two<br> دو three تين four</p>
+ </td>
+ <td>
+ <p dir=rtl><xl>A</xl><span dir=rtl>الخت العربي</span> one ايك two<br> دو three تين four</p>
+ </td>
+ <td>
+ <p dir=rtl><xl>A</xl><span dir=rtl>الخت العربي</span> one ايك two<br> دو three تين four</p>
+ </td>
+</tr>
+
+<tr>
+ <!-- initial with float:right -->
+ <td>
+ <p dir=rtl><xr>Z</xr><span dir=rtl>الخت العربي</span> one ايك two<br> دو three تين four</p>
+ </td>
+ <td>
+ <p dir=rtl><xr>Z</xr><span dir=rtl>الخت العربي</span> one ايك two<br> دو three تين four</p>
+ </td>
+ <td>
+ <p dir=rtl><xr>Z</xr><span dir=rtl>الخت العربي</span> one ايك two<br> دو three تين four</p>
+ </td>
+</tr>
+</table>