Title: [268686] trunk/LayoutTests
Revision
268686
Author
an...@apple.com
Date
2020-10-19 14:10:20 -0700 (Mon, 19 Oct 2020)

Log Message

Update imported/w3c/web-platform-tests/css/selectors/
https://bugs.webkit.org/show_bug.cgi?id=217905

Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

* resources/import-expectations.json:
* web-platform-tests/css/selectors/first-line-bidi-001-expected.html: Added.
* web-platform-tests/css/selectors/first-line-bidi-001.html: Added.
* web-platform-tests/css/selectors/first-line-bidi-002-expected.html: Added.
* web-platform-tests/css/selectors/first-line-bidi-002.html: Added.
* web-platform-tests/css/selectors/focus-visible-007.html:
* web-platform-tests/css/selectors/focus-visible-011.html:
* web-platform-tests/css/selectors/is-where-error-recovery-expected.txt: Added.
* web-platform-tests/css/selectors/is-where-error-recovery.html: Added.
* web-platform-tests/css/selectors/is-where-not-expected.txt: Added.
* web-platform-tests/css/selectors/is-where-not.html: Added.
* web-platform-tests/css/selectors/is-where-parsing-expected.txt:
* web-platform-tests/css/selectors/is-where-parsing.html:
* web-platform-tests/css/selectors/is-where-pseudo-classes-expected.txt: Added.
* web-platform-tests/css/selectors/is-where-pseudo-classes.html: Added.
* web-platform-tests/css/selectors/is-where-pseudo-elements-expected.html: Added.
* web-platform-tests/css/selectors/is-where-pseudo-elements.html: Added.
* web-platform-tests/css/selectors/is-where-shadow-expected.txt: Added.
* web-platform-tests/css/selectors/is-where-shadow.html: Added.
* web-platform-tests/css/selectors/is-where-visited-expected.html: Added.
* web-platform-tests/css/selectors/is-where-visited.html: Added.
* web-platform-tests/css/selectors/not-links-expected.html:
* web-platform-tests/css/selectors/not-links.html:
* web-platform-tests/css/selectors/old-tests/css3-modsel-23.xml: Removed.
* web-platform-tests/css/selectors/old-tests/css3-modsel-24.xml: Removed.
* web-platform-tests/css/selectors/old-tests/css3-modsel-68.xml: Removed.
* web-platform-tests/css/selectors/old-tests/css3-modsel-69.xml: Removed.
* web-platform-tests/css/selectors/old-tests/w3c-import.log:
* web-platform-tests/css/selectors/parsing/parse-attribute-expected.txt: Added.
* web-platform-tests/css/selectors/parsing/parse-attribute.html: Added.
* web-platform-tests/css/selectors/parsing/parse-child-expected.txt: Added.
* web-platform-tests/css/selectors/parsing/parse-child.html: Added.
* web-platform-tests/css/selectors/parsing/parse-class-expected.txt: Added.
* web-platform-tests/css/selectors/parsing/parse-class.html: Added.
* web-platform-tests/css/selectors/parsing/parse-descendant-expected.txt: Added.
* web-platform-tests/css/selectors/parsing/parse-descendant.html: Added.
* web-platform-tests/css/selectors/parsing/parse-id-expected.txt: Added.
* web-platform-tests/css/selectors/parsing/parse-id.html: Added.
* web-platform-tests/css/selectors/parsing/parse-is-expected.txt: Added.
* web-platform-tests/css/selectors/parsing/parse-is.html: Added.
* web-platform-tests/css/selectors/parsing/parse-not-expected.txt: Added.
* web-platform-tests/css/selectors/parsing/parse-not.html: Added.
* web-platform-tests/css/selectors/parsing/parse-sibling-expected.txt: Added.
* web-platform-tests/css/selectors/parsing/parse-sibling.html: Added.
* web-platform-tests/css/selectors/parsing/parse-universal-expected.txt: Added.
* web-platform-tests/css/selectors/parsing/parse-universal.html: Added.
* web-platform-tests/css/selectors/parsing/parse-where-expected.txt: Added.
* web-platform-tests/css/selectors/parsing/parse-where.html: Added.
* web-platform-tests/css/selectors/parsing/w3c-import.log: Added.
* web-platform-tests/css/selectors/pseudo-enabled-disabled-expected.txt: Added.
* web-platform-tests/css/selectors/pseudo-enabled-disabled.html: Added.
* web-platform-tests/css/selectors/query/query-is-expected.txt: Added.
* web-platform-tests/css/selectors/query/query-is.html: Added.
* web-platform-tests/css/selectors/query/query-where-expected.txt: Added.
* web-platform-tests/css/selectors/query/query-where.html: Added.
* web-platform-tests/css/selectors/query/w3c-import.log: Added.
* web-platform-tests/css/selectors/w3c-import.log:
* web-platform-tests/css/support/query-testcommon.js: Added.
(test_query_selector):
* web-platform-tests/css/support/w3c-import.log:

LayoutTests:

* TestExpectations:

Modified Paths

Added Paths

Removed Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (268685 => 268686)


--- trunk/LayoutTests/ChangeLog	2020-10-19 21:06:47 UTC (rev 268685)
+++ trunk/LayoutTests/ChangeLog	2020-10-19 21:10:20 UTC (rev 268686)
@@ -1,3 +1,12 @@
+2020-10-19  Antti Koivisto  <an...@apple.com>
+
+        Update imported/w3c/web-platform-tests/css/selectors/
+        https://bugs.webkit.org/show_bug.cgi?id=217905
+
+        Reviewed by Simon Fraser.
+
+        * TestExpectations:
+
 2020-10-19  Ryan Haddad  <ryanhad...@apple.com>
 
         Unreviewed test gardening for webkit.org/b/217862.

Modified: trunk/LayoutTests/TestExpectations (268685 => 268686)


--- trunk/LayoutTests/TestExpectations	2020-10-19 21:06:47 UTC (rev 268685)
+++ trunk/LayoutTests/TestExpectations	2020-10-19 21:10:20 UTC (rev 268686)
@@ -1203,6 +1203,7 @@
 imported/w3c/web-platform-tests/css/selectors/old-tests/css3-modsel-172b.xml [ ImageOnlyFailure ]
 imported/w3c/web-platform-tests/css/selectors/old-tests/css3-modsel-173a.xml [ ImageOnlyFailure ]
 imported/w3c/web-platform-tests/css/selectors/old-tests/css3-modsel-173b.xml [ ImageOnlyFailure ]
+webkit.org/b/217904 imported/w3c/web-platform-tests/css/selectors/is-where-visited.html [ ImageOnlyFailure ]
 
 # ref for this is under a directory that is not yet imported
 webkit.org/b/209735 imported/w3c/web-platform-tests/css/selectors/root-siblings.htm [ Skip ]

Modified: trunk/LayoutTests/imported/w3c/ChangeLog (268685 => 268686)


--- trunk/LayoutTests/imported/w3c/ChangeLog	2020-10-19 21:06:47 UTC (rev 268685)
+++ trunk/LayoutTests/imported/w3c/ChangeLog	2020-10-19 21:10:20 UTC (rev 268686)
@@ -1,3 +1,71 @@
+2020-10-19  Antti Koivisto  <an...@apple.com>
+
+        Update imported/w3c/web-platform-tests/css/selectors/
+        https://bugs.webkit.org/show_bug.cgi?id=217905
+
+        Reviewed by Simon Fraser.
+
+        * resources/import-expectations.json:
+        * web-platform-tests/css/selectors/first-line-bidi-001-expected.html: Added.
+        * web-platform-tests/css/selectors/first-line-bidi-001.html: Added.
+        * web-platform-tests/css/selectors/first-line-bidi-002-expected.html: Added.
+        * web-platform-tests/css/selectors/first-line-bidi-002.html: Added.
+        * web-platform-tests/css/selectors/focus-visible-007.html:
+        * web-platform-tests/css/selectors/focus-visible-011.html:
+        * web-platform-tests/css/selectors/is-where-error-recovery-expected.txt: Added.
+        * web-platform-tests/css/selectors/is-where-error-recovery.html: Added.
+        * web-platform-tests/css/selectors/is-where-not-expected.txt: Added.
+        * web-platform-tests/css/selectors/is-where-not.html: Added.
+        * web-platform-tests/css/selectors/is-where-parsing-expected.txt:
+        * web-platform-tests/css/selectors/is-where-parsing.html:
+        * web-platform-tests/css/selectors/is-where-pseudo-classes-expected.txt: Added.
+        * web-platform-tests/css/selectors/is-where-pseudo-classes.html: Added.
+        * web-platform-tests/css/selectors/is-where-pseudo-elements-expected.html: Added.
+        * web-platform-tests/css/selectors/is-where-pseudo-elements.html: Added.
+        * web-platform-tests/css/selectors/is-where-shadow-expected.txt: Added.
+        * web-platform-tests/css/selectors/is-where-shadow.html: Added.
+        * web-platform-tests/css/selectors/is-where-visited-expected.html: Added.
+        * web-platform-tests/css/selectors/is-where-visited.html: Added.
+        * web-platform-tests/css/selectors/not-links-expected.html:
+        * web-platform-tests/css/selectors/not-links.html:
+        * web-platform-tests/css/selectors/old-tests/css3-modsel-23.xml: Removed.
+        * web-platform-tests/css/selectors/old-tests/css3-modsel-24.xml: Removed.
+        * web-platform-tests/css/selectors/old-tests/css3-modsel-68.xml: Removed.
+        * web-platform-tests/css/selectors/old-tests/css3-modsel-69.xml: Removed.
+        * web-platform-tests/css/selectors/old-tests/w3c-import.log:
+        * web-platform-tests/css/selectors/parsing/parse-attribute-expected.txt: Added.
+        * web-platform-tests/css/selectors/parsing/parse-attribute.html: Added.
+        * web-platform-tests/css/selectors/parsing/parse-child-expected.txt: Added.
+        * web-platform-tests/css/selectors/parsing/parse-child.html: Added.
+        * web-platform-tests/css/selectors/parsing/parse-class-expected.txt: Added.
+        * web-platform-tests/css/selectors/parsing/parse-class.html: Added.
+        * web-platform-tests/css/selectors/parsing/parse-descendant-expected.txt: Added.
+        * web-platform-tests/css/selectors/parsing/parse-descendant.html: Added.
+        * web-platform-tests/css/selectors/parsing/parse-id-expected.txt: Added.
+        * web-platform-tests/css/selectors/parsing/parse-id.html: Added.
+        * web-platform-tests/css/selectors/parsing/parse-is-expected.txt: Added.
+        * web-platform-tests/css/selectors/parsing/parse-is.html: Added.
+        * web-platform-tests/css/selectors/parsing/parse-not-expected.txt: Added.
+        * web-platform-tests/css/selectors/parsing/parse-not.html: Added.
+        * web-platform-tests/css/selectors/parsing/parse-sibling-expected.txt: Added.
+        * web-platform-tests/css/selectors/parsing/parse-sibling.html: Added.
+        * web-platform-tests/css/selectors/parsing/parse-universal-expected.txt: Added.
+        * web-platform-tests/css/selectors/parsing/parse-universal.html: Added.
+        * web-platform-tests/css/selectors/parsing/parse-where-expected.txt: Added.
+        * web-platform-tests/css/selectors/parsing/parse-where.html: Added.
+        * web-platform-tests/css/selectors/parsing/w3c-import.log: Added.
+        * web-platform-tests/css/selectors/pseudo-enabled-disabled-expected.txt: Added.
+        * web-platform-tests/css/selectors/pseudo-enabled-disabled.html: Added.
+        * web-platform-tests/css/selectors/query/query-is-expected.txt: Added.
+        * web-platform-tests/css/selectors/query/query-is.html: Added.
+        * web-platform-tests/css/selectors/query/query-where-expected.txt: Added.
+        * web-platform-tests/css/selectors/query/query-where.html: Added.
+        * web-platform-tests/css/selectors/query/w3c-import.log: Added.
+        * web-platform-tests/css/selectors/w3c-import.log:
+        * web-platform-tests/css/support/query-testcommon.js: Added.
+        (test_query_selector):
+        * web-platform-tests/css/support/w3c-import.log:
+
 2020-10-19  Chris Dumez  <cdu...@apple.com>
 
         Resync web-platform-tests/webaudio from upstream

Modified: trunk/LayoutTests/imported/w3c/resources/import-expectations.json (268685 => 268686)


--- trunk/LayoutTests/imported/w3c/resources/import-expectations.json	2020-10-19 21:06:47 UTC (rev 268685)
+++ trunk/LayoutTests/imported/w3c/resources/import-expectations.json	2020-10-19 21:10:20 UTC (rev 268686)
@@ -16,6 +16,7 @@
     "css/css-text-decor": "import", 
     "css/css-values": "import", 
     "css/geometry": "import", 
+    "css/selectors": "import", 
     "css/support": "import", 
     "custom-elements": "import", 
     "encrypted-media": "import", 

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/first-line-bidi-001-expected.html (0 => 268686)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/first-line-bidi-001-expected.html	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/first-line-bidi-001-expected.html	2020-10-19 21:10:20 UTC (rev 268686)
@@ -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>

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/first-line-bidi-001.html (0 => 268686)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/first-line-bidi-001.html	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/first-line-bidi-001.html	2020-10-19 21:10:20 UTC (rev 268686)
@@ -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=""
+<link rel=match href=""
+<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>

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/first-line-bidi-002-expected.html (0 => 268686)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/first-line-bidi-002-expected.html	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/first-line-bidi-002-expected.html	2020-10-19 21:10:20 UTC (rev 268686)
@@ -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>

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/first-line-bidi-002.html (0 => 268686)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/first-line-bidi-002.html	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/first-line-bidi-002.html	2020-10-19 21:10:20 UTC (rev 268686)
@@ -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=""
+<link rel=match href=""
+<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>

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/focus-visible-007.html (268685 => 268686)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/focus-visible-007.html	2020-10-19 21:06:47 UTC (rev 268685)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/focus-visible-007.html	2020-10-19 21:10:20 UTC (rev 268686)
@@ -57,7 +57,7 @@
       document.body.dataset.hadmousedown = "";
     }, true);
 
-    async_test(async function(t) {
+    async_test(function(t) {
       let tested_modality_change = false;
       let tested_modality_unchanged_by_mouse_click = false;
       let tested_mouse_focus_after_modality_change = false;

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/focus-visible-011.html (268685 => 268686)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/focus-visible-011.html	2020-10-19 21:06:47 UTC (rev 268685)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/focus-visible-011.html	2020-10-19 21:10:20 UTC (rev 268686)
@@ -41,7 +41,7 @@
       next.focus();
     });
 
-    async_test(async function(t) {
+    async_test(function(t) {
       next.addEventListener("focus", t.step_func(() => {
         assert_equals(getComputedStyle(next).outlineColor, "rgb(0, 100, 0)");
         t.done()

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/is-where-error-recovery-expected.txt (0 => 268686)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/is-where-error-recovery-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/is-where-error-recovery-expected.txt	2020-10-19 21:10:20 UTC (rev 268686)
@@ -0,0 +1,3 @@
+
+FAIL CSS Selectors: :is() and :where() error recovery assert_not_equals: Should've parsed got disallowed value "random-selector"
+

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/is-where-error-recovery.html (0 => 268686)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/is-where-error-recovery.html	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/is-where-error-recovery.html	2020-10-19 21:10:20 UTC (rev 268686)
@@ -0,0 +1,55 @@
+<!doctype html>
+<title>CSS Selectors: :is() and :where() error recovery</title>
+<link rel="author" title="Emilio Cobos Álvarez" href=""
+<link rel="help" href=""
+<link rel="help" href=""
+<link rel="help" href=""
+<link rel="help" href=""
+<script src=""
+<script src=""
+<style id="test-sheet">
+  random-selector { color: blue; }
+</style>
+<div id="test-div"></div>
+<script>
+  let rule = document.getElementById("test-sheet").sheet.cssRules[0];
+  test(function() {
+    for (let pseudo of ["is", "where"]) {
+      rule.selectorText = "random-selector";
+      let invalidSelector = `:${pseudo}(:total-nonsense)`;
+      rule.selectorText = invalidSelector;
+      assert_not_equals(
+        rule.selectorText,
+        "random-selector",
+        "Should've parsed",
+      );
+      assert_not_equals(
+        rule.selectorText,
+        invalidSelector,
+        "Should not be considered valid and parsed as-is",
+      );
+      let emptyList = `:${pseudo}()`;
+      assert_equals(
+        rule.selectorText,
+        emptyList,
+        "Should be serialized as an empty selector-list",
+      );
+      assert_equals(document.querySelector(emptyList), null, "Should never match, but should parse");
+      for (let mixedList of [
+        `:${pseudo}(:total-nonsense, #test-div)`,
+        `:${pseudo}(:total-nonsense and-more-stuff, #test-div)`,
+        `:${pseudo}(weird-token || and-more-stuff, #test-div)`,
+      ]) {
+        rule.selectorText = mixedList;
+        assert_equals(
+          rule.selectorText,
+          `:${pseudo}(#test-div)`,
+          `${mixedList}: Should ignore invalid selectors`,
+        );
+        let testDiv = document.getElementById("test-div");
+        assert_equals(document.querySelector(mixedList), testDiv, "Should correctly match");
+        assert_equals(getComputedStyle(testDiv).color, "rgb(0, 0, 255)", "test element should be blue");
+      }
+    }
+  });
+</script>

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/is-where-not-expected.txt (0 => 268686)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/is-where-not-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/is-where-not-expected.txt	2020-10-19 21:10:20 UTC (rev 268686)
@@ -0,0 +1,20 @@
+
+PASS :not(:is(#a)) matches expected elements
+PASS :not(:where(#b)) matches expected elements
+PASS :not(:where(:root #c)) matches expected elements
+PASS :not(:is(#a, #b)) matches expected elements
+PASS :not(:is(#b div)) matches expected elements
+PASS :not(:is(#a div, div + div)) matches expected elements
+PASS :not(:is(span)) matches expected elements
+PASS :not(:is(div)) matches expected elements
+PASS :not(:is(*|div)) matches expected elements
+PASS :not(:is(*|*)) matches expected elements
+PASS :not(:is(*)) matches expected elements
+FAIL :not(:is(svg|div)) matches expected elements The string did not match the expected pattern.
+PASS :not(:is(:not(div))) matches expected elements
+PASS :not(:is(span, b, i)) matches expected elements
+PASS :not(:is(span, b, i, div)) matches expected elements
+PASS :not(:is(#b ~ div div, * + #c)) matches expected elements
+PASS :not(:is(div > :not(#e))) matches expected elements
+PASS :not(:is(div > :not(:where(#e, #f)))) matches expected elements
+

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/is-where-not.html (0 => 268686)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/is-where-not.html	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/is-where-not.html	2020-10-19 21:10:20 UTC (rev 268686)
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<title>:is() inside :not()</title>
+<script src=""
+<script src=""
+<link rel="help" href=""
+<link rel="help" href=""
+
+<main id=main>
+  <div id=a><div id=d></div></div>
+  <div id=b><div id=e></div></div>
+  <div id=c><div id=f></div></div>
+</main>
+
+<script>
+  function formatElements(elements) {
+    return elements.map(e => e.id).sort().join();
+  }
+
+  // Test that |selector| returns the given elements in #main.
+  function test_selector(selector, expected) {
+    test(function() {
+      let actual = Array.from(main.querySelectorAll(selector));
+      assert_equals(formatElements(actual), formatElements(expected));
+    }, `${selector} matches expected elements`);
+  }
+
+  test_selector(':not(:is(#a))', [b, c, d, e, f]);
+  test_selector(':not(:where(#b))', [a, c, d, e, f]);
+  test_selector(':not(:where(:root #c))', [a, b, d, e, f]);
+  test_selector(':not(:is(#a, #b))', [c, d, e, f]);
+  test_selector(':not(:is(#b div))', [a, b, c, d, f]);
+  test_selector(':not(:is(#a div, div + div))', [a, e, f]);
+  test_selector(':not(:is(span))', [a, b, c, d, e, f]);
+  test_selector(':not(:is(div))', []);
+  test_selector(':not(:is(*|div))', []);
+  test_selector(':not(:is(*|*))', []);
+  test_selector(':not(:is(*))', []);
+  test_selector(':not(:is(svg|div))', [a, b, c, d, e, f]);
+  test_selector(':not(:is(:not(div)))', [a, b, c, d, e, f]);
+  test_selector(':not(:is(span, b, i))', [a, b, c, d, e, f]);
+  test_selector(':not(:is(span, b, i, div))', []);
+  test_selector(':not(:is(#b ~ div div, * + #c))', [a, b, d, e]);
+  test_selector(':not(:is(div > :not(#e)))', [a, b, c, e]);
+  test_selector(':not(:is(div > :not(:where(#e, #f))))', [a, b, c, e, f]);
+</script>

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/is-where-parsing-expected.txt (268685 => 268686)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/is-where-parsing-expected.txt	2020-10-19 21:06:47 UTC (rev 268685)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/is-where-parsing-expected.txt	2020-10-19 21:10:20 UTC (rev 268686)
@@ -3,7 +3,7 @@
 PASS Nested :is
 PASS Nested :where
 PASS Nested inside :host, without combinators
-FAIL Nested inside :host, with combinators assert_equals: Nested inside :host, with combinators: :host(:is(div .foo)) expected false but got true
+FAIL Nested inside :host, with combinators assert_not_equals: Nested inside :host, with combinators: :host(:is(div .foo)) got disallowed value ":host(:is(div .foo))"
 PASS Pseudo-classes inside
 PASS Pseudo-classes after
 PASS Pseudo-elements after
@@ -10,5 +10,7 @@
 PASS Pseudo-elements inside
 PASS Combinators after
 PASS After part with simple pseudo-class
-FAIL After part with invalid selector after assert_equals: After part with invalid selector after: ::part(foo):is([attr='value']) expected false but got true
+PASS After part with invalid selector after
+PASS Nested inside :not, without combinators
+PASS Nested inside :not, with combinators
 

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/is-where-parsing.html (268685 => 268686)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/is-where-parsing.html	2020-10-19 21:06:47 UTC (rev 268685)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/is-where-parsing.html	2020-10-19 21:10:20 UTC (rev 268686)
@@ -5,18 +5,22 @@
 <link rel="help" href=""
 <script src=""
 <script src=""
+<style id="test-sheet">
+  random-selector { color: blue; }
+</style>
 <script>
+  let rule = document.getElementById("test-sheet").sheet.cssRules[0];
   function assert_valid(expected_valid, pattern, description) {
     test(function() {
       for (let pseudo of ["is", "where"]) {
-        let valid = false;
         let selector = pattern.replace("{}", ":" + pseudo)
-        try {
-          document.querySelector(selector);
-          valid = true;
-        } catch (ex) {}
-
-        assert_equals(valid, expected_valid, `${description}: ${selector}`);
+        rule.selectorText = "random-selector";
+        rule.selectorText = selector;
+        (expected_valid ? assert_equals : assert_not_equals)(
+          rule.selectorText,
+          selector,
+          `${description}: ${selector}`
+        );
       }
     }, description);
   }
@@ -38,4 +42,7 @@
   assert_valid(true, "{}(div) + bar", "Combinators after");
   assert_valid(true, "::part(foo):is(:hover)", "After part with simple pseudo-class");
   assert_valid(false, "::part(foo):is([attr='value'])", "After part with invalid selector after");
+
+  assert_valid(true, ":not({}(div))", "Nested inside :not, without combinators");
+  assert_valid(true, ":not({}(div .foo))", "Nested inside :not, with combinators");
 </script>

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/is-where-pseudo-classes-expected.txt (0 => 268686)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/is-where-pseudo-classes-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/is-where-pseudo-classes-expected.txt	2020-10-19 21:10:20 UTC (rev 268686)
@@ -0,0 +1,4 @@
+A  B  C  D  E  F
+
+PASS :is() combined with pseudo-classes
+

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/is-where-pseudo-classes.html (0 => 268686)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/is-where-pseudo-classes.html	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/is-where-pseudo-classes.html	2020-10-19 21:10:20 UTC (rev 268686)
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<title>:is() combined with pseudo-classes</title>
+<script src=""
+<script src=""
+<link rel="help" href=""
+<link rel="help" href=""
+<style>
+  button {
+    color: black;
+  }
+  /* Selects #a, #c */
+  :is(main :where(main #a), #c:nth-child(odd), #d):is(:enabled) {
+    color: green;
+  }
+  /* Selects #b, #d, #f */
+  button:is(:nth-child(even), span #e):is(:enabled, :where(:disabled)) {
+    color: blue;
+  }
+</style>
+<main>
+  <button id=a>A</button>
+  <button id=b>B</button>
+  <button id=c>C</button>
+  <button id=d disabled>D</button>
+  <button id=e disabled>E</button>
+  <button id=f disabled>F</button>
+</main>
+<script>
+  test(function() {
+    assert_equals(getComputedStyle(a).color, 'rgb(0, 128, 0)');
+    assert_equals(getComputedStyle(b).color, 'rgb(0, 0, 255)');
+    assert_equals(getComputedStyle(c).color, 'rgb(0, 128, 0)');
+    assert_equals(getComputedStyle(d).color, 'rgb(0, 0, 255)');
+    assert_equals(getComputedStyle(e).color, 'rgb(0, 0, 0)');
+    assert_equals(getComputedStyle(f).color, 'rgb(0, 0, 255)');
+  }, ':is() combined with pseudo-classes');
+</script>

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/is-where-pseudo-elements-expected.html (0 => 268686)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/is-where-pseudo-elements-expected.html	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/is-where-pseudo-elements-expected.html	2020-10-19 21:10:20 UTC (rev 268686)
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<title>:is() combined with pseudo elements</title>
+<link rel="help" href=""
+<style>
+  #b::before, #d::before {
+    content: "before ";
+    color: green;
+  }
+  #e::after, #h::after {
+    content: " after";
+    color: green;
+  }
+  #a::first-letter, #b::first-letter {
+    color: blue;
+  }
+  #g::first-line, #l::first-line {
+    color: magenta;
+  }
+</style>
+<main id=main>
+  <div id=a>a</div>
+  <div id=b>b</div>
+  <div id=c>c</div>
+  <div id=d>d</div>
+  <div id=e>e</div>
+  <div id=f>f</div>
+  <div id=g>g</div>
+  <div id=h>h</div>
+  <div id=j>j</div>
+  <div id=k>k</div>
+  <div id=l>l<br>l2</div>
+</main>

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/is-where-pseudo-elements.html (0 => 268686)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/is-where-pseudo-elements.html	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/is-where-pseudo-elements.html	2020-10-19 21:10:20 UTC (rev 268686)
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<title>:is() combined with pseudo elements</title>
+<link rel="help" href=""
+<link rel="match" href=""
+<style>
+  :is(#a, #c) + :is(main :is(#b, #d))::before {
+    content: "before ";
+    color: green;
+  }
+  :is(#d + div, #d ~ #h)::after {
+    content: " after";
+    color: green;
+  }
+  :is(main > #a, #b)::first-letter {
+    color: blue;
+  }
+  :is(:where(main > div + #g, #k + #l))::first-line {
+    color: magenta;
+  }
+</style>
+<main id=main>
+  <div id=a>a</div>
+  <div id=b>b</div>
+  <div id=c>c</div>
+  <div id=d>d</div>
+  <div id=e>e</div>
+  <div id=f>f</div>
+  <div id=g>g</div>
+  <div id=h>h</div>
+  <div id=j>j</div>
+  <div id=k>k</div>
+  <div id=l>l<br>l2</div>
+</main>

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/is-where-shadow-expected.txt (0 => 268686)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/is-where-shadow-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/is-where-shadow-expected.txt	2020-10-19 21:10:20 UTC (rev 268686)
@@ -0,0 +1,11 @@
+::slotted
+
+::slotted
+
+::slotted
+
+
+PASS :is() inside :host()
+FAIL :is() inside :host-context() assert_equals: expected "rgb(0, 128, 0)" but got "rgb(0, 0, 255)"
+PASS :is() inside ::slotted()
+

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/is-where-shadow.html (0 => 268686)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/is-where-shadow.html	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/is-where-shadow.html	2020-10-19 21:10:20 UTC (rev 268686)
@@ -0,0 +1,62 @@
+<!DOCTYPE html>
+<title>:is() inside shadow pseudos</title>
+<script src=""
+<script src=""
+<link rel="help" href=""
+<link rel="help" href=""
+<link rel="help" href=""
+<div class="parent1"><div id="host1" class=a><p class=e>::slotted</p></div></div>
+<div class="parent2"><div id="host2" class=b><p class=d>::slotted</p></div></div>
+<div class="parent3"><div id="host3" class=c><p class=f>::slotted</p></div></div>
+</div>
+<script>
+  let shadow1 = host1.attachShadow({ mode: 'open' });
+  let shadow2 = host2.attachShadow({ mode: 'open' });
+  let shadow3 = host3.attachShadow({ mode: 'open' });
+
+  const html = `
+    <style>
+      * { color: blue; }
+      :host(:is(.a, .b)) b { color: green; }
+      :host-context(:is(.parent1, .parent2)) i { color: green; }
+      ::slotted(:is(.e, .f)) { color: green; }
+
+      /* The following should not match: */
+      :host(:is(.z)) b { color: red; }
+      :host(:is(.a + .b)) b { color: red; }
+      :host-context(:is(.z)) i { color: red; }
+      :host-context(:is(.parent1 .parent2)) i { color: red; }
+      ::slotted(:is(.z)) { color: red; }
+      ::slotted(:is(.a > .b)) { color: red; }
+    </style>
+    <b>:host</b>
+    <i>:host-context</i>
+    <slot></slot>
+  `;
+
+  shadow1.innerHTML = html;
+  shadow2.innerHTML = html;
+  shadow3.innerHTML = html;
+
+  const getComputedColor = e => getComputedStyle(e).color;
+  const green = 'rgb(0, 128, 0)';
+  const blue = 'rgb(0, 0, 255)';
+
+  test(function() {
+    assert_equals(getComputedColor(shadow1.querySelector('b')), green);
+    assert_equals(getComputedColor(shadow2.querySelector('b')), green);
+    assert_equals(getComputedColor(shadow3.querySelector('b')), blue);
+  }, ':is() inside :host()');
+
+  test(function() {
+    assert_equals(getComputedColor(shadow1.querySelector('i')), green);
+    assert_equals(getComputedColor(shadow2.querySelector('i')), green);
+    assert_equals(getComputedColor(shadow3.querySelector('i')), blue);
+  }, ':is() inside :host-context()');
+
+  test(function() {
+    assert_equals(getComputedColor(document.querySelector('.e')), green);
+    assert_equals(getComputedColor(document.querySelector('.d')), blue);
+    assert_equals(getComputedColor(document.querySelector('.f')), green);
+  }, ':is() inside ::slotted()');
+</script>

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/is-where-visited-expected.html (0 => 268686)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/is-where-visited-expected.html	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/is-where-visited-expected.html	2020-10-19 21:10:20 UTC (rev 268686)
@@ -0,0 +1,66 @@
+<!DOCTYPE html>
+<title>:is/:where combined with :visited/:link</title>
+<link rel="help" href=""
+<style>
+  :visited, :link {
+    color: black;
+  }
+
+  #parent1 .a, #parent1 .b, #parent1 .c {
+    color: green;
+  }
+  #parent1 .d, #parent1 .f {
+    color: magenta;
+  }
+
+  #parent2 .b, #parent2 .e {
+    color: tomato;
+  }
+
+  #parent3 .c, #parent3 .f {
+    color: skyblue;
+  }
+
+  #parent4 .c, #parent4 .f {
+    color: blue;
+  }
+
+  #parent3 .b, #parent3 .e, #parent4 .b, #parent4 .e {
+    color: maroon;
+  }
+</style>
+<main>
+  <div id=parent1>
+    <a class=a href=""
+    <a class=b href=""
+    <a class=c href=""
+    <a class=d href=""
+    <a class=e href=""
+    <a class=f href=""
+  </div>
+  <div id=parent2>
+    <a class=a href=""
+    <a class=b href=""
+    <a class=c href=""
+    <a class=d href=""
+    <a class=e href=""
+    <a class=f href=""
+  </div>
+  <a id=parent3 href=""
+    <span class=a>a</span>
+    <span class=b>b</span>
+    <span class=c>c</span>
+    <span class=d>d</span>
+    <span class=e>e</span>
+    <span class=f>f</span>
+  </a>
+  <br>
+  <a id=parent4 href=""
+    <span class=a>a</span>
+    <span class=b>b</span>
+    <span class=c>c</span>
+    <span class=d>d</span>
+    <span class=e>e</span>
+    <span class=f>f</span>
+  </a>
+</main>

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/is-where-visited.html (0 => 268686)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/is-where-visited.html	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/is-where-visited.html	2020-10-19 21:10:20 UTC (rev 268686)
@@ -0,0 +1,67 @@
+<!DOCTYPE html>
+<title>:is/:where combined with :visited/:link</title>
+<link rel="help" href=""
+<link rel="match" href=""
+<style>
+  :visited, :link {
+    color: black;
+  }
+
+  #parent1 :is(:visited) {
+    color: green;
+  }
+  #parent1 :is(:link):nth-child(even) {
+    color: magenta;
+  }
+
+  :is(#parent2 .a + :visited, #parent2 .e:link) {
+    color: tomato;
+  }
+
+  main :is(a:visited > :where(.a + span + span, .f)) {
+    color: skyblue;
+  }
+
+  main :is(a:link > :where(.a + span + span, .f)) {
+    color: blue;
+  }
+
+  main :is(a:is(:link, :visited) > :where(.b, .e)) {
+    color: maroon;
+  }
+</style>
+<main>
+  <div id=parent1>
+    <a class=a href=""
+    <a class=b href=""
+    <a class=c href=""
+    <a class=d href=""
+    <a class=e href=""
+    <a class=f href=""
+  </div>
+  <div id=parent2>
+    <a class=a href=""
+    <a class=b href=""
+    <a class=c href=""
+    <a class=d href=""
+    <a class=e href=""
+    <a class=f href=""
+  </div>
+  <a id=parent3 href=""
+    <span class=a>a</span>
+    <span class=b>b</span>
+    <span class=c>c</span>
+    <span class=d>d</span>
+    <span class=e>e</span>
+    <span class=f>f</span>
+  </a>
+  <br>
+  <a id=parent4 href=""
+    <span class=a>a</span>
+    <span class=b>b</span>
+    <span class=c>c</span>
+    <span class=d>d</span>
+    <span class=e>e</span>
+    <span class=f>f</span>
+  </a>
+</main>

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/not-links-expected.html (268685 => 268686)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/not-links-expected.html	2020-10-19 21:06:47 UTC (rev 268685)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/not-links-expected.html	2020-10-19 21:10:20 UTC (rev 268686)
@@ -1,10 +1,17 @@
 <!DOCTYPE html>
 <title>Test that *:not(:link):not(:visited) does not match links</title>
+<style>
+  span {
+    background-color: green;
+  }
+</style>
 <body>
-  <a href=""
-  <a href=""
-  <span style="background-color: green">Green</span>
+  <div>
+    <a href="" (<span>Green</span>)</a>
+    <a href="" (<span>Green</span>)</a>
+    <span>Green</span>
+  </div>
   <p>
-    Only "Green" should have a green background.
+    Only "Green" should have green backgrounds.
   </p>
 </body>

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/not-links.html (268685 => 268686)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/not-links.html	2020-10-19 21:06:47 UTC (rev 268685)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/not-links.html	2020-10-19 21:10:20 UTC (rev 268686)
@@ -3,15 +3,23 @@
 <link rel="match" href=""
 <link rel="help" href=""
 <style>
-  body > *:not(:link):not(:visited) {
+  * {
+    /* Browsers typically ignore the :visited alpha and use the unvisited
+       alpha instead, which by default is 0, in which case a failure would
+       not be detected. */
+    background-color: white;
+  }
+  div *:not(:link):not(:visited) {
     background-color: green;
   }
 </style>
 <body>
-  <a href=""
-  <a href=""
-  <span>Green</span>
-  <p style="background-color: initial">
-    Only "Green" should have a green background.
+  <div>
+    <a href="" (<span>Green</span>)</a>
+    <a href="" (<span>Green</span>)</a>
+    <span>Green</span>
+  </div>
+  <p>
+    Only "Green" should have green backgrounds.
   </p>
 </body>

Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/old-tests/css3-modsel-23.xml (268685 => 268686)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/old-tests/css3-modsel-23.xml	2020-10-19 21:06:47 UTC (rev 268685)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/old-tests/css3-modsel-23.xml	2020-10-19 21:10:20 UTC (rev 268686)
@@ -1,21 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
-  <title>:enabled pseudo-class</title>
-  <style type="text/css"><![CDATA[button { background-color : red }
-input { background-color : red }
-button:enabled { background-color : lime }
-input:enabled { background-color : lime }]]></style>
-  <link rel="author" title="Daniel Glazman" href=""
-  <link rel="author" title="Ian Hickson" href=""
-  <link rel="help" href="" <!-- bogus link to make sure it gets found -->
-  <meta name="flags" content="" />
- </head>
- <body>
-<p>
- <button>A button (enabled) with green background</button>
- <br></br>
- <input type="text" size="36" value="a text area (enabled) with green background"></input>
-</p>
-</body>
-</html>
\ No newline at end of file

Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/old-tests/css3-modsel-24.xml (268685 => 268686)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/old-tests/css3-modsel-24.xml	2020-10-19 21:06:47 UTC (rev 268685)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/old-tests/css3-modsel-24.xml	2020-10-19 21:10:20 UTC (rev 268686)
@@ -1,21 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
-  <title>:disabled pseudo-class</title>
-  <style type="text/css"><![CDATA[button { background-color : red }
-input { background-color : red }
-button:disabled { background-color : lime }
-input:disabled { background-color : lime }]]></style>
-  <link rel="author" title="Daniel Glazman" href=""
-  <link rel="author" title="Ian Hickson" href=""
-  <link rel="help" href="" <!-- bogus link to make sure it gets found -->
-  <meta name="flags" content="" />
- </head>
- <body>
-<p>
- <button disabled="disabled">A button (disabled) with green background</button>
- <br></br>
- <input disabled="disabled" type="text" size="36" value="a text area (disabled) with green background"></input>
-</p>
-</body>
-</html>
\ No newline at end of file

Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/old-tests/css3-modsel-68.xml (268685 => 268686)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/old-tests/css3-modsel-68.xml	2020-10-19 21:06:47 UTC (rev 268685)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/old-tests/css3-modsel-68.xml	2020-10-19 21:10:20 UTC (rev 268686)
@@ -1,20 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
-  <title>NEGATED :enabled pseudo-class</title>
-  <style type="text/css"><![CDATA[button { background-color : red }
-input { background-color : red }
-button:not(:enabled) { background-color : lime }
-input:not(:enabled)  { background-color : lime }]]></style>
-  <link rel="author" title="Daniel Glazman" href=""
-  <link rel="help" href="" <!-- bogus link to make sure it gets found -->
-  <meta name="flags" content="" />
- </head>
- <body>
-<p>
- <button disabled="disabled">A button (disabled) with green background</button>
- <br></br>
- <input disabled="disabled" type="text" size="36" value="a text area (disabled) with green background"></input>
-</p>
-</body>
-</html>
\ No newline at end of file

Deleted: trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/old-tests/css3-modsel-69.xml (268685 => 268686)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/old-tests/css3-modsel-69.xml	2020-10-19 21:06:47 UTC (rev 268685)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/old-tests/css3-modsel-69.xml	2020-10-19 21:10:20 UTC (rev 268686)
@@ -1,20 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
-  <title>NEGATED :disabled pseudo-class</title>
-  <style type="text/css"><![CDATA[button { background-color : red }
-input { background-color : red }
-button:not(:disabled) { background-color : lime }
-input:not(:disabled) { background-color : lime }]]></style>
-  <link rel="author" title="Daniel Glazman" href=""
-  <link rel="help" href="" <!-- bogus link to make sure it gets found -->
-  <meta name="flags" content="" />
- </head>
- <body>
-<p>
- <button>A button (enabled) with green background</button>
- <br></br>
- <input type="text" size="36" value="a text area (enabled) with green background"></input>
-</p>
-</body>
-</html>
\ No newline at end of file

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/old-tests/w3c-import.log (268685 => 268686)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/old-tests/w3c-import.log	2020-10-19 21:06:47 UTC (rev 268685)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/old-tests/w3c-import.log	2020-10-19 21:10:20 UTC (rev 268686)
@@ -267,8 +267,6 @@
 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/old-tests/css3-modsel-21b.xml
 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/old-tests/css3-modsel-21c.xml
 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/old-tests/css3-modsel-22.xml
-/LayoutTests/imported/w3c/web-platform-tests/css/selectors/old-tests/css3-modsel-23.xml
-/LayoutTests/imported/w3c/web-platform-tests/css/selectors/old-tests/css3-modsel-24.xml
 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/old-tests/css3-modsel-25.xml
 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/old-tests/css3-modsel-27.xml
 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/old-tests/css3-modsel-27a.xml
@@ -333,8 +331,6 @@
 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/old-tests/css3-modsel-60.xml
 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/old-tests/css3-modsel-66b.xml
 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/old-tests/css3-modsel-67.xml
-/LayoutTests/imported/w3c/web-platform-tests/css/selectors/old-tests/css3-modsel-68.xml
-/LayoutTests/imported/w3c/web-platform-tests/css/selectors/old-tests/css3-modsel-69.xml
 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/old-tests/css3-modsel-7.xml
 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/old-tests/css3-modsel-70.xml
 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/old-tests/css3-modsel-72.xml

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-attribute-expected.txt (0 => 268686)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-attribute-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-attribute-expected.txt	2020-10-19 21:10:20 UTC (rev 268686)
@@ -0,0 +1,18 @@
+
+PASS "[att]" should be a valid selector
+PASS "[att=val]" should be a valid selector
+PASS "[att~=val]" should be a valid selector
+PASS "[att|=val]" should be a valid selector
+PASS "h1[title]" should be a valid selector
+PASS "span[class='example']" should be a valid selector
+PASS "a[hreflang=fr]" should be a valid selector
+PASS "a[hreflang|='en']" should be a valid selector
+PASS "[att^=val]" should be a valid selector
+PASS "[att$=val]" should be a valid selector
+PASS "[att*=val]" should be a valid selector
+PASS "object[type^=\"image/\"]" should be a valid selector
+PASS "a[href$=\".html\"]" should be a valid selector
+PASS "p[title*=\"hello\"]" should be a valid selector
+PASS "[*|att]" should be a valid selector
+PASS "[|att]" should be a valid selector
+

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-attribute.html (0 => 268686)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-attribute.html	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-attribute.html	2020-10-19 21:10:20 UTC (rev 268686)
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Selectors: Attribute selectors</title>
+<link rel="help" href=""
+<script src=""
+<script src=""
+<script src=""
+<script>
+  // Attribute presence and value selectors
+  test_valid_selector('[att]');
+  test_valid_selector('[att=val]', '[att="val"]');
+  test_valid_selector('[att~=val]', '[att~="val"]');
+  test_valid_selector('[att|=val]', '[att|="val"]');
+  test_valid_selector('h1[title]');
+  test_valid_selector("span[class='example']", 'span[class="example"]');
+  test_valid_selector('a[hreflang=fr]', 'a[hreflang="fr"]');
+  test_valid_selector("a[hreflang|='en']", 'a[hreflang|="en"]');
+
+  // Substring matching attribute selectors
+  test_valid_selector('[att^=val]', '[att^="val"]');
+  test_valid_selector('[att$=val]', '[att$="val"]');
+  test_valid_selector('[att*=val]', '[att*="val"]');
+  test_valid_selector('object[type^="image/"]');
+  test_valid_selector('a[href$=".html"]');
+  test_valid_selector('p[title*="hello"]');
+
+  // From Attribute selectors and namespaces examples in spec:
+  test_valid_selector('[*|att]');
+  test_valid_selector('[|att]', '[att]');
+</script>

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-child-expected.txt (0 => 268686)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-child-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-child-expected.txt	2020-10-19 21:10:20 UTC (rev 268686)
@@ -0,0 +1,4 @@
+
+PASS "body > p" should be a valid selector
+PASS "div ol>li p" should be a valid selector
+

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-child.html (0 => 268686)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-child.html	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-child.html	2020-10-19 21:10:20 UTC (rev 268686)
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Selectors: Child combinators</title>
+<link rel="help" href=""
+<script src=""
+<script src=""
+<script src=""
+<script>
+  test_valid_selector('body > p');
+  test_valid_selector('div ol>li p', 'div ol > li p');
+</script>

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-class-expected.txt (0 => 268686)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-class-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-class-expected.txt	2020-10-19 21:10:20 UTC (rev 268686)
@@ -0,0 +1,6 @@
+
+PASS "*.pastoral" should be a valid selector
+PASS ".pastoral" should be a valid selector
+PASS "h1.pastoral" should be a valid selector
+PASS "p.pastoral.marine" should be a valid selector
+

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-class.html (0 => 268686)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-class.html	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-class.html	2020-10-19 21:10:20 UTC (rev 268686)
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Selectors: Class selectors</title>
+<link rel="help" href=""
+<script src=""
+<script src=""
+<script src=""
+<script>
+  test_valid_selector('*.pastoral',
+      ['*.pastoral', '.pastoral']);
+  test_valid_selector('.pastoral',
+      ['*.pastoral', '.pastoral']);
+  test_valid_selector('h1.pastoral');
+  test_valid_selector('p.pastoral.marine');
+</script>

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-descendant-expected.txt (0 => 268686)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-descendant-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-descendant-expected.txt	2020-10-19 21:10:20 UTC (rev 268686)
@@ -0,0 +1,5 @@
+
+PASS "h1 em" should be a valid selector
+PASS "div * p" should be a valid selector
+PASS "div p *[href]" should be a valid selector
+

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-descendant.html (0 => 268686)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-descendant.html	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-descendant.html	2020-10-19 21:10:20 UTC (rev 268686)
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Selectors: Descendant combinator</title>
+<link rel="help" href=""
+<script src=""
+<script src=""
+<script src=""
+<script>
+  test_valid_selector('h1 em');
+  test_valid_selector('div * p');
+  test_valid_selector('div p *[href]',
+      ['div p *[href]', 'div p [href]']);
+</script>

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-id-expected.txt (0 => 268686)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-id-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-id-expected.txt	2020-10-19 21:10:20 UTC (rev 268686)
@@ -0,0 +1,5 @@
+
+PASS "h1#chapter1" should be a valid selector
+PASS "#chapter1" should be a valid selector
+PASS "*#z98y" should be a valid selector
+

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-id.html (0 => 268686)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-id.html	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-id.html	2020-10-19 21:10:20 UTC (rev 268686)
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Selectors: ID selectors</title>
+<link rel="help" href=""
+<script src=""
+<script src=""
+<script src=""
+<script>
+  test_valid_selector('h1#chapter1');
+  test_valid_selector('#chapter1');
+  test_valid_selector('*#z98y',
+      ['*#z98y', '#z98y']);
+</script>

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-is-expected.txt (0 => 268686)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-is-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-is-expected.txt	2020-10-19 21:10:20 UTC (rev 268686)
@@ -0,0 +1,8 @@
+
+PASS ":is(ul,ol,.list) > [hidden]" should be a valid selector
+PASS ":is(:hover,:focus)" should be a valid selector
+PASS "a:is(:not(:hover))" should be a valid selector
+PASS ":is(#a)" should be a valid selector
+PASS ".a.b ~ :is(.c.d ~ .e.f)" should be a valid selector
+PASS ".a.b ~ .c.d:is(span.e + .f, .g.h > .i.j .k)" should be a valid selector
+

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-is.html (0 => 268686)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-is.html	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-is.html	2020-10-19 21:10:20 UTC (rev 268686)
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Selectors: The Matches-Any Pseudo-class: ':is()'</title>
+<link rel="help" href=""
+<script src=""
+<script src=""
+<script src=""
+<script>
+  test_valid_selector(':is(ul,ol,.list) > [hidden]',
+      ':is(ul, ol, .list) > [hidden]');
+  test_valid_selector(':is(:hover,:focus)',
+      ':is(:hover, :focus)');
+  test_valid_selector('a:is(:not(:hover))');
+
+  test_valid_selector(':is(#a)');
+  test_valid_selector('.a.b ~ :is(.c.d ~ .e.f)');
+  test_valid_selector('.a.b ~ .c.d:is(span.e + .f, .g.h > .i.j .k)');
+</script>

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-not-expected.txt (0 => 268686)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-not-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-not-expected.txt	2020-10-19 21:10:20 UTC (rev 268686)
@@ -0,0 +1,9 @@
+
+PASS "button:not([disabled])" should be a valid selector
+PASS "*:not(foo)" should be a valid selector
+PASS ":not(:link):not(:visited)" should be a valid selector
+PASS "*|*:not(*)" should be a valid selector
+PASS ":not(:hover)" should be a valid selector
+PASS ":not(*|*)" should be a valid selector
+PASS "foo:not(bar)" should be a valid selector
+

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-not.html (0 => 268686)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-not.html	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-not.html	2020-10-19 21:10:20 UTC (rev 268686)
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Selectors: The negation pseudo-class</title>
+<link rel="help" href=""
+<script src=""
+<script src=""
+<script src=""
+<script>
+  test_valid_selector('button:not([disabled])');
+  test_valid_selector('*:not(foo)',
+      ['*:not(foo)', ':not(foo)']);
+  test_valid_selector(':not(:link):not(:visited)');
+  test_valid_selector('*|*:not(*)', ':not(*)');
+  test_valid_selector(':not(:hover)');
+  test_valid_selector(':not(*|*)', ':not(*)');
+  test_valid_selector('foo:not(bar)');
+</script>

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-sibling-expected.txt (0 => 268686)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-sibling-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-sibling-expected.txt	2020-10-19 21:10:20 UTC (rev 268686)
@@ -0,0 +1,5 @@
+
+PASS "math + p" should be a valid selector
+PASS "h1.opener + h2" should be a valid selector
+PASS "h1 ~ pre" should be a valid selector
+

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-sibling.html (0 => 268686)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-sibling.html	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-sibling.html	2020-10-19 21:10:20 UTC (rev 268686)
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Selectors: Sibling combinators</title>
+<link rel="help" href=""
+<script src=""
+<script src=""
+<script src=""
+<script>
+  test_valid_selector('math + p');
+  test_valid_selector('h1.opener + h2');
+  test_valid_selector('h1 ~ pre');
+</script>

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-universal-expected.txt (0 => 268686)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-universal-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-universal-expected.txt	2020-10-19 21:10:20 UTC (rev 268686)
@@ -0,0 +1,5 @@
+
+PASS "*" should be a valid selector
+PASS "div :first-child" should be a valid selector
+PASS "div *:first-child" should be a valid selector
+

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-universal.html (0 => 268686)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-universal.html	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-universal.html	2020-10-19 21:10:20 UTC (rev 268686)
@@ -0,0 +1,14 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Selectors: Universal selector</title>
+<link rel="help" href=""
+<script src=""
+<script src=""
+<script src=""
+<script>
+  test_valid_selector('*');
+  test_valid_selector('div :first-child',
+      ['div *:first-child', 'div :first-child']);
+  test_valid_selector('div *:first-child',
+      ['div *:first-child', 'div :first-child']);
+</script>

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-where-expected.txt (0 => 268686)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-where-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-where-expected.txt	2020-10-19 21:10:20 UTC (rev 268686)
@@ -0,0 +1,8 @@
+
+PASS ":where(ul,ol,.list) > [hidden]" should be a valid selector
+PASS ":where(:hover,:focus)" should be a valid selector
+PASS "a:where(:not(:hover))" should be a valid selector
+PASS ":where(#a)" should be a valid selector
+PASS ".a.b ~ :where(.c.d ~ .e.f)" should be a valid selector
+PASS ".a.b ~ .c.d:where(span.e + .f, .g.h > .i.j .k)" should be a valid selector
+

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-where.html (0 => 268686)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-where.html	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-where.html	2020-10-19 21:10:20 UTC (rev 268686)
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Selectors: The Specificity-adjustment Pseudo-class: ':where()'</title>
+<link rel="help" href=""
+<script src=""
+<script src=""
+<script src=""
+<script>
+  test_valid_selector(':where(ul,ol,.list) > [hidden]',
+      ':where(ul, ol, .list) > [hidden]');
+  test_valid_selector(':where(:hover,:focus)',
+      ':where(:hover, :focus)');
+  test_valid_selector('a:where(:not(:hover))');
+
+  test_valid_selector(':where(#a)');
+  test_valid_selector('.a.b ~ :where(.c.d ~ .e.f)');
+  test_valid_selector('.a.b ~ .c.d:where(span.e + .f, .g.h > .i.j .k)');
+</script>

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/w3c-import.log (0 => 268686)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/w3c-import.log	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/w3c-import.log	2020-10-19 21:10:20 UTC (rev 268686)
@@ -0,0 +1,26 @@
+The tests in this directory were imported from the W3C repository.
+Do NOT modify these tests directly in WebKit.
+Instead, create a pull request on the WPT github:
+	https://github.com/web-platform-tests/wpt
+
+Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
+
+Do NOT modify or remove this file.
+
+------------------------------------------------------------------------
+Properties requiring vendor prefixes:
+None
+Property values requiring vendor prefixes:
+None
+------------------------------------------------------------------------
+List of files:
+/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-attribute.html
+/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-child.html
+/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-class.html
+/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-descendant.html
+/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-id.html
+/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-is.html
+/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-not.html
+/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-sibling.html
+/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-universal.html
+/LayoutTests/imported/w3c/web-platform-tests/css/selectors/parsing/parse-where.html

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/pseudo-enabled-disabled-expected.txt (0 => 268686)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/pseudo-enabled-disabled-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/pseudo-enabled-disabled-expected.txt	2020-10-19 21:10:20 UTC (rev 268686)
@@ -0,0 +1,7 @@
+
+
+PASS :enabeld should match to enabled controls
+PASS :disabled should match to enabled controls
+PASS :not(:enabeld) should match to disabled controls and non-controls
+PASS :not(:disabled) should match to enabled controls and non-controls
+

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/pseudo-enabled-disabled.html (0 => 268686)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/pseudo-enabled-disabled.html	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/pseudo-enabled-disabled.html	2020-10-19 21:10:20 UTC (rev 268686)
@@ -0,0 +1,51 @@
+<!DOCTYPE html>
+<link rel="help" href=""
+<script src=""
+<script src=""
+<body>
+<div id="container">
+<button id="button_enabled"></button>
+<button id="button_disabled" disabled></button>
+<input id="input_enabled">
+<input id="input_disabled" disabled>
+<select id="select_enabled"></select>
+<select id="select_disabled" disabled></select>
+<textarea id="textarea_enabled"></textarea>
+<textarea id="textarea_disabled" disabled></textarea>
+<span id="incapable"></span>
+</div>
+
+<script>
+test(() => {
+  const container = document.querySelector('#container');
+  const matched = container.querySelectorAll(':enabled');
+  for (let element of matched) {
+    assert_true(element.id.endsWith('_enabled'), element.id);
+  }
+}, ':enabeld should match to enabled controls');
+
+test(() => {
+  const container = document.querySelector('#container');
+  const matched = container.querySelectorAll(':disabled');
+  for (let element of matched) {
+    assert_true(element.id.endsWith('_disabled'), element.id);
+  }
+}, ':disabled should match to enabled controls');
+
+test(() => {
+  const container = document.querySelector('#container');
+  const matched = container.querySelectorAll(':not(:enabled)');
+  for (let element of matched) {
+    assert_true(element.id.endsWith('_disabled') || element.id == 'incapable', element.id);
+  }
+}, ':not(:enabeld) should match to disabled controls and non-controls');
+
+test(() => {
+  const container = document.querySelector('#container');
+  const matched = container.querySelectorAll(':not(:disabled)');
+  for (let element of matched) {
+    assert_true(element.id.endsWith('_enabled') || element.id == 'incapable', element.id);
+  }
+}, ':not(:disabled) should match to enabled controls and non-controls');
+</script>
+</body>

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/query/query-is-expected.txt (0 => 268686)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/query/query-is-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/query/query-is-expected.txt	2020-10-19 21:10:20 UTC (rev 268686)
@@ -0,0 +1,8 @@
+
+PASS Selector '.a :is(.b, .c)" should find the expected elements
+PASS Selector '.a :is(.c#d, .e)" should find the expected elements
+PASS Selector '.a :is(.e+.f, .g>.b, .h)" should find the expected elements
+PASS Selector '.a+:is(.b+.f, :is(.c>.e, .g))" should find the expected elements
+PASS Selector '.a :is(:where(:where(.b ~ .c)))" should find the expected elements
+PASS Selector '.b + :is(.c + .c + .c, .b + .c:not(span), .b + .c + .e) ~ .h" should find the expected elements
+

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/query/query-is.html (0 => 268686)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/query/query-is.html	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/query/query-is.html	2020-10-19 21:10:20 UTC (rev 268686)
@@ -0,0 +1,57 @@
+<!DOCTYPE html>
+<html>
+<head>
+  <meta charset="utf-8">
+  <title>Selectors Level 4: query using :is()</title>
+  <link rel="help" href=""
+  <script src=""
+  <script src=""
+  <script src=""
+</head>
+<body>
+  <div id="a1" class="a">
+    <div class="b" id="b1"></div>
+    <div class="c" id="c1"></div>
+    <div class="c" id="d"></div>
+    <div class="e" id="e1"></div>
+    <div class="f" id="f1"></div>
+    <div class="g">
+      <div class="b" id="b2">
+        <div class="b" id="b3"></div>
+      </div>
+    </div>
+    <div class="h" id="h1"></div>
+  </div>
+  <div class="c" id="c2">
+    <div id="a2" class="a"></div>
+    <div class="e" id="e2"></div>
+  </div>
+  <script>
+    'use strict';
+
+    // Simple selector arguments are supported by :is
+    test_query_selector(document, '.a :is(.b, .c)',
+        ['b1', 'c1', 'd', 'b2', 'b3']);
+
+    // Compound selector arguments are supported by :is
+    test_query_selector(document, '.a :is(.c#d, .e)',
+        ['d', 'e1']);
+
+    // Complex selector arguments are supported by :is
+    test_query_selector(document, '.a :is(.e+.f, .g>.b, .h)',
+        ['f1', 'b2', 'h1']);
+
+    // Nested selector arguments are supported by :is
+    test_query_selector(document, '.a+:is(.b+.f, :is(.c>.e, .g))',
+        'e2');
+
+    // Nested :where selector arguments are supported by :is
+    test_query_selector(document, '.a :is(:where(:where(.b ~ .c)))',
+        ['c1', 'd']);
+
+    // Nested :not selector arguments are supported by :is
+    test_query_selector(document, '.b + :is(.c + .c + .c, .b + .c:not(span), .b + .c + .e) ~ .h',
+        ['h1']);
+  </script>
+</body>
+</html>

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/query/query-where-expected.txt (0 => 268686)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/query/query-where-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/query/query-where-expected.txt	2020-10-19 21:10:20 UTC (rev 268686)
@@ -0,0 +1,8 @@
+
+PASS Selector '.a :where(.b, .c)" should find the expected elements
+PASS Selector '.a :where(.c#d, .e)" should find the expected elements
+PASS Selector '.a :where(.e+.f, .g>.b, .h)" should find the expected elements
+PASS Selector '.a+:where(.b+.f, :where(.c>.e, .g))" should find the expected elements
+PASS Selector '.a :where(:is(:is(.b ~ .c)))" should find the expected elements
+PASS Selector '.b + :where(.c + .c + .c, .b + .c:not(span), .b + .c + .e) ~ .h" should find the expected elements
+

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/query/query-where.html (0 => 268686)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/query/query-where.html	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/query/query-where.html	2020-10-19 21:10:20 UTC (rev 268686)
@@ -0,0 +1,57 @@
+<!DOCTYPE html>
+<html>
+<head>
+  <meta charset="utf-8">
+  <title>Selectors Level 4: query using :where()</title>
+  <link rel="help" href=""
+  <script src=""
+  <script src=""
+  <script src=""
+</head>
+<body>
+  <div id="a1" class="a">
+    <div class="b" id="b1"></div>
+    <div class="c" id="c1"></div>
+    <div class="c" id="d"></div>
+    <div class="e" id="e1"></div>
+    <div class="f" id="f1"></div>
+    <div class="g">
+      <div class="b" id="b2">
+        <div class="b" id="b3"></div>
+      </div>
+    </div>
+    <div class="h" id="h1"></div>
+  </div>
+  <div class="c" id="c2">
+    <div id="a2" class="a"></div>
+    <div class="e" id="e2"></div>
+  </div>
+  <script>
+    'use strict';
+
+    // Simple selector arguments are supported by :where
+    test_query_selector(document, '.a :where(.b, .c)',
+        ['b1', 'c1', 'd', 'b2', 'b3']);
+
+    // Compound selector arguments are supported by :where
+    test_query_selector(document, '.a :where(.c#d, .e)',
+        ['d', 'e1']);
+
+    // Complex selector arguments are supported by :where
+    test_query_selector(document, '.a :where(.e+.f, .g>.b, .h)',
+        ['f1', 'b2', 'h1']);
+
+    // Nested selector arguments are supported by :where
+    test_query_selector(document, '.a+:where(.b+.f, :where(.c>.e, .g))',
+        ['e2']);
+
+    // Nested :is selector arguments are supported by :where
+    test_query_selector(document, '.a :where(:is(:is(.b ~ .c)))',
+        ['c1', 'd']);
+
+    // Nested :not selector arguments are supported by :where
+    test_query_selector(document, '.b + :where(.c + .c + .c, .b + .c:not(span), .b + .c + .e) ~ .h',
+        ['h1']);
+  </script>
+</body>
+</html>

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/query/w3c-import.log (0 => 268686)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/query/w3c-import.log	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/query/w3c-import.log	2020-10-19 21:10:20 UTC (rev 268686)
@@ -0,0 +1,18 @@
+The tests in this directory were imported from the W3C repository.
+Do NOT modify these tests directly in WebKit.
+Instead, create a pull request on the WPT github:
+	https://github.com/web-platform-tests/wpt
+
+Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
+
+Do NOT modify or remove this file.
+
+------------------------------------------------------------------------
+Properties requiring vendor prefixes:
+None
+Property values requiring vendor prefixes:
+None
+------------------------------------------------------------------------
+List of files:
+/LayoutTests/imported/w3c/web-platform-tests/css/selectors/query/query-is.html
+/LayoutTests/imported/w3c/web-platform-tests/css/selectors/query/query-where.html

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/w3c-import.log (268685 => 268686)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/w3c-import.log	2020-10-19 21:06:47 UTC (rev 268685)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/w3c-import.log	2020-10-19 21:10:20 UTC (rev 268686)
@@ -19,6 +19,10 @@
 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/any-link-dynamic-001-expected.html
 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/any-link-dynamic-001.html
 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/child-indexed-pseudo-class.html
+/LayoutTests/imported/w3c/web-platform-tests/css/selectors/first-line-bidi-001-expected.html
+/LayoutTests/imported/w3c/web-platform-tests/css/selectors/first-line-bidi-001.html
+/LayoutTests/imported/w3c/web-platform-tests/css/selectors/first-line-bidi-002-expected.html
+/LayoutTests/imported/w3c/web-platform-tests/css/selectors/first-line-bidi-002.html
 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/floating-first-letter-05d0-expected.html
 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/floating-first-letter-05d0.html
 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/floating-first-letter-feff-expected.html
@@ -65,12 +69,21 @@
 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/historical-xmlid.xht
 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/is-nested.html
 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/is-specificity.html
+/LayoutTests/imported/w3c/web-platform-tests/css/selectors/is-where-error-recovery.html
+/LayoutTests/imported/w3c/web-platform-tests/css/selectors/is-where-not.html
 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/is-where-parsing.html
+/LayoutTests/imported/w3c/web-platform-tests/css/selectors/is-where-pseudo-classes.html
+/LayoutTests/imported/w3c/web-platform-tests/css/selectors/is-where-pseudo-elements-expected.html
+/LayoutTests/imported/w3c/web-platform-tests/css/selectors/is-where-pseudo-elements.html
+/LayoutTests/imported/w3c/web-platform-tests/css/selectors/is-where-shadow.html
+/LayoutTests/imported/w3c/web-platform-tests/css/selectors/is-where-visited-expected.html
+/LayoutTests/imported/w3c/web-platform-tests/css/selectors/is-where-visited.html
 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/missing-right-token.html
 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/not-links-expected.html
 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/not-links.html
 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/of-type-selectors-expected.xhtml
 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/of-type-selectors.xhtml
+/LayoutTests/imported/w3c/web-platform-tests/css/selectors/pseudo-enabled-disabled.html
 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/remove-hovered-element-expected.html
 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/remove-hovered-element.html
 /LayoutTests/imported/w3c/web-platform-tests/css/selectors/root-siblings.htm

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/support/query-testcommon.js (0 => 268686)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/support/query-testcommon.js	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/support/query-testcommon.js	2020-10-19 21:10:20 UTC (rev 268686)
@@ -0,0 +1,18 @@
+'use strict';
+
+function test_query_selector(parentNode, selector, expected) {
+  if (!Array.isArray(expected))
+    expected = [ expected ];
+
+  test(function(){
+    const elementList = parentNode.querySelectorAll(selector);
+    assert_equals(elementList.length, expected.length);
+
+    for (let i = 0; i < elementList.length; ++i) {
+      if (typeof expected[i] === 'string')
+        assert_equals(elementList[i].id, expected[i]);
+      else
+        assert_equals(elementList[i], expected[i]);
+    }
+  }, "Selector '" + selector + '" should find the expected elements');
+}

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/support/w3c-import.log (268685 => 268686)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/support/w3c-import.log	2020-10-19 21:06:47 UTC (rev 268685)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/support/w3c-import.log	2020-10-19 21:10:20 UTC (rev 268686)
@@ -46,6 +46,7 @@
 /LayoutTests/imported/w3c/web-platform-tests/css/support/pattern-grg-rrg-rgg.png
 /LayoutTests/imported/w3c/web-platform-tests/css/support/pattern-rgr-grg-rgr.png
 /LayoutTests/imported/w3c/web-platform-tests/css/support/pattern-tr.png
+/LayoutTests/imported/w3c/web-platform-tests/css/support/query-testcommon.js
 /LayoutTests/imported/w3c/web-platform-tests/css/support/red-rect.svg
 /LayoutTests/imported/w3c/web-platform-tests/css/support/red.ico
 /LayoutTests/imported/w3c/web-platform-tests/css/support/ruler-h-50%.png
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to