[go: nahoru, domu]

Import wpt@260e9744d6d64c5ae2cea4cdb7a6e67f74708e5b

Using wpt-import in Chromium aaa2561e9dede5de8b7c6e3e1e828ba6d79bd07c.

Note to sheriffs: This CL imports external tests and adds
expectations for those tests; if this CL is large and causes
a few new failures, please fix the failures by adding new
lines to TestExpectations rather than reverting. See:
https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md

Directory owners for changes in this CL:
igrigorik@chromium.org, yoavweiss@chromium.org:
  external/wpt/preload
japhet@chromium.org:
  external/wpt/fetch
kojii@chromium.org:
  external/wpt/css/css-writing-modes

NOAUTOREVERT=true

No-Export: true
Cq-Include-Trybots: luci.chromium.try:linux-wpt-identity-fyi-rel,linux-wpt-input-fyi-rel,linux-blink-rel
Change-Id: I0e2860b81673cb157662be52e559343a3e86e7cc
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4430693
Reviewed-by: Jonathan Lee <jonathanjlee@google.com>
Auto-Submit: WPT Autoroller <wpt-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Jonathan Lee <jonathanjlee@google.com>
Cr-Commit-Position: refs/heads/main@{#1131272}
diff --git a/third_party/blink/web_tests/FlagExpectations/disable-site-isolation-trials b/third_party/blink/web_tests/FlagExpectations/disable-site-isolation-trials
index 3b0b04d..d8b2510 100644
--- a/third_party/blink/web_tests/FlagExpectations/disable-site-isolation-trials
+++ b/third_party/blink/web_tests/FlagExpectations/disable-site-isolation-trials
@@ -88,7 +88,7 @@
 crbug.com/626703 virtual/threaded/external/wpt/long-animation-frame/tentative/loaf-script-block.html [ Timeout ]
 crbug.com/626703 external/wpt/png/cicp-chunk.html [ Timeout ]
 crbug.com/626703 external/wpt/html/semantics/popovers/popover-attribute-basic.html [ Pass ]
-crbug.com/626703 external/wpt/preload/prefetch-types.html [ Failure Timeout ]
+crbug.com/626703 external/wpt/preload/prefetch-types.https.html [ Failure Timeout ]
 crbug.com/626703 external/wpt/url/url-setters-a-area.window.html?exclude=(file|javascript|mailto) [ Crash Failure ]
 crbug.com/626703 external/wpt/url/a-element-origin-xhtml.xhtml [ Crash Failure ]
 crbug.com/626703 external/wpt/fullscreen/api/document-exit-fullscreen-nested-in-iframe.html [ Timeout ]
diff --git a/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_8.json b/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_8.json
index c0d060e..2674800 100644
--- a/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_8.json
+++ b/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_8.json
@@ -269758,6 +269758,16 @@
    }
   },
   "support": {
+   ".cache": {
+    "gitignore2.json": [
+     "056370c363b34ca3958e6440176e74cb73caf424",
+     []
+    ],
+    "mtime.json": [
+     "baf6d64420a5df11411070a4487940e6339d5977",
+     []
+    ]
+   },
    ".gitignore": [
     "d93e645d547894b50149d3726de2654957b6e06f",
     []
@@ -311253,6 +311263,14 @@
      "META.yml": [
       "8b83e50d1e465786f6466548b58d4df031a855f2",
       []
+     ],
+     "overscroll-behavior-expected.txt": [
+      "5df3fb3df680e500ebc7d917e1bed4ff30fae8dc",
+      []
+     ],
+     "overscroll-behavior.html.ini": [
+      "d8af952c8e4345cba40c3dcf6a03da5d5b746902",
+      []
      ]
     },
     "css-page": {
@@ -323494,6 +323512,10 @@
       "49d75de6b6893f5ff6e3f43845956c0c15be940c",
       []
      ],
+     "css-transform-3d-transform-style.html.ini": [
+      "3584653fa3bc04d5ff272f19c4126e83ec83501c",
+      []
+     ],
      "css-transform-animate-translate-implied-y-ref.html": [
       "43d17375b312ba3b565bc821a80ef0ca880e3bfd",
       []
@@ -323722,6 +323744,10 @@
       "e4d46ead9136c13c6033481d5f3e8fd09047883c",
       []
      ],
+     "preserve3d-and-flattening-z-order-003.html.ini": [
+      "3d7677e07b4db7b35dd0fc2969edae2a8260ce55",
+      []
+     ],
      "preserve3d-and-flattening-z-order-004.html.ini": [
       "9fdf89b3e6b5d5de5e0987ac93b05ac258b4cf47",
       []
@@ -323973,7 +323999,7 @@
       []
      ],
      "rotated-clip-under-opacity.html.ini": [
-      "21d403da94182fe514250ec3a300080e0a540dfa",
+      "7b5969eb3fb8d0d71c9b86510e89270706b74b7d",
       []
      ],
      "scale": {
@@ -326463,6 +326489,10 @@
        "e935a80df693f45b69f2ef1b013dd5d719fcc22d",
        []
       ],
+      "kind-of-widget-fallback-input-button-border-image-slice-001.html.ini": [
+       "0a20afb2697cc9400db86034f04255907e996f1a",
+       []
+      ],
       "kind-of-widget-fallback-input-button-border-image-width-001.html.ini": [
        "9c6b66a66d527700bba9aafca1cae80a9d795bfa",
        []
@@ -326632,7 +326662,7 @@
        []
       ],
       "kind-of-widget-fallback-input-search-text-border-block-end-width-001.html.ini": [
-       "5e0d7ac46770e33075f106c3c2f819208751dd20",
+       "d7e7253482afe8fd42513072f29775d5cd56191a",
        []
       ],
       "kind-of-widget-fallback-input-search-text-border-block-start-color-001.html.ini": [
@@ -326723,6 +326753,10 @@
        "305b0c2ca7921e6e111f3d79e6cec8a6db081e5a",
        []
       ],
+      "kind-of-widget-fallback-input-submit-border-block-end-style-001.html.ini": [
+       "62ab0a7fa02731f62813e866c2115c7ad93f2b7c",
+       []
+      ],
       "kind-of-widget-fallback-input-submit-border-block-end-width-001.html.ini": [
        "0d819011f7f7df4cc05590aaa06da099f39e6597",
        []
@@ -326903,6 +326937,10 @@
        "adb2eec9f2b02a3b661a3e4d4fc811cfcadb761a",
        []
       ],
+      "kind-of-widget-fallback-input-text-border-left-style-001.html.ini": [
+       "cc9ba562d14fc9527bc2257054594a27f05ef6c5",
+       []
+      ],
       "kind-of-widget-fallback-input-text-border-right-color-001.html.ini": [
        "5bc373383d5976f2a3ac4ad63256a3003a52ab54",
        []
@@ -332652,20 +332690,12 @@
         "3c3629e647f5ddf82548912e337bea9826b434af",
         []
        ],
-       "README.md": [
-        "9bf89de07a89719dadad60e55167c84595a410ba",
+       "generate.py": [
+        "6d54eebc0506dd19f7b664c71c5d9c190491c6e6",
         []
        ],
-       "gulpfile.js": [
-        "f364024084dc0c24d00bc417ab252feb9f8b1418",
-        []
-       ],
-       "orthogonal-parent-shrink-to-fit.ejs": [
-        "043cbaf747a7931fd2798b1afd79f6d577f6183b",
-        []
-       ],
-       "package.json": [
-        "8046cf4240aa37e0a3f8d8f866efe44f68155c7e",
+       "template.html": [
+        "74fc1852320b3a95a430c35035f3e52a29662657",
         []
        ]
       }
@@ -341322,7 +341352,7 @@
      []
     ],
     "event-click-visibilitychange.html.ini": [
-     "9b83651c171ae6c2864f6f033bfad584c60b498e",
+     "89fce3af5f45a24479e5d44a20acf97bb5d594b2",
      []
     ],
     "first-input-interactionid-tap.html.ini": [
@@ -342639,26 +342669,10 @@
        "6ff0e7113920bf7e56cc385b1b2a5be8e29804f1",
        []
       ],
-      "response-clone.any-expected.txt": [
-       "67c0ff906678c5e9c8959624bbfa2a211a4232f4",
-       []
-      ],
       "response-clone.any.js.ini": [
        "b7b39270572152b7b5b225ec808870963cf90490",
        []
       ],
-      "response-clone.any.serviceworker-expected.txt": [
-       "67c0ff906678c5e9c8959624bbfa2a211a4232f4",
-       []
-      ],
-      "response-clone.any.sharedworker-expected.txt": [
-       "67c0ff906678c5e9c8959624bbfa2a211a4232f4",
-       []
-      ],
-      "response-clone.any.worker-expected.txt": [
-       "67c0ff906678c5e9c8959624bbfa2a211a4232f4",
-       []
-      ],
       "response-consume-empty-expected.txt": [
        "5b0426fa4dca632bb0e8992fbae4109c2388f83a",
        []
@@ -369121,7 +369135,7 @@
     ]
    },
    "lint.ignore": [
-    "056bbd0c230244125fa59c8e1594b28756575095",
+    "c8792f5c1af97ec7e6832880c60a1d5cc39f1628",
     []
    ],
    "loading": {
@@ -369371,7 +369385,7 @@
     ],
     "tentative": {
      "loaf-blocking-duration.html.ini": [
-      "5d138694f44866fb0a69985cf6a6510687c6f03d",
+      "0fb8161f7a853c5c13068f177a07c0136f8b07e7",
       []
      ],
      "loaf-desired-exec-time.html.ini": [
@@ -374756,7 +374770,7 @@
      []
     ],
     "pointerevent_contextmenu_is_a_pointerevent.html.ini": [
-     "a2c6066fd08feca5b04cde504552a920df0e42e6",
+     "8b54c2e03bcc4ddd143a8ca30188cbfbfb1a0c89",
      []
     ],
     "pointerevent_fractional_coordinates.html.ini": [
@@ -375295,18 +375309,18 @@
      "9b138393d1d36e79ad97be1fdac0f13ba4c37e8a",
      []
     ],
-    "prefetch-headers.html.ini": [
-     "633afd494196b6da062a370333f7644e0262912a",
+    "prefetch-headers.https-expected.txt": [
+     "434c6ad141bf9837b08fecc0a7f66b031b6f4b95",
+     []
+    ],
+    "prefetch-headers.https.html.ini": [
+     "a7ec2c7b64be36891c52a502d32b1577de3a17b4",
      []
     ],
     "prefetch-types-expected.txt": [
      "bf5bb2fc1a39c07998aa0f6cd3d9c32a6b1a5fe3",
      []
     ],
-    "prefetch-types.html.ini": [
-     "62b84b38cfb336ef12e0739998c7273fa5d5842e",
-     []
-    ],
     "preload-error.sub-expected.txt": [
      "e9361bfadb6adc99c3e2dc7b3ab831b9e242a581",
      []
@@ -390114,7 +390128,7 @@
        []
       ],
       "conftest.py": [
-       "30069a02386566c6c707c83bc5281d49e82ce08f",
+       "f2060a87eed5925db6733112e91fac4b5035e83b",
        []
       ],
       "support": {
@@ -390122,10 +390136,6 @@
         "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
         []
        ],
-       "keys.py": [
-        "e835a6a596f8d52d691afff812c9dacc5012b9e0",
-        []
-       ],
        "mouse.py": [
         "b3672eb213af68a9e4d9f931ca6499723a1a5019",
         []
@@ -390224,7 +390234,7 @@
        []
       ],
       "fixtures.py": [
-       "d0a08698d6c0753fa081793c201b914a612b8215",
+       "0755d70d525ca97d4b35ba020424a903622e19ee",
        []
       ],
       "fixtures_bidi.py": [
@@ -390311,6 +390321,10 @@
        "494ca74f92653d8d898e5922d0b0f1add0c4ab04",
        []
       ],
+      "keys.py": [
+       "e835a6a596f8d52d691afff812c9dacc5012b9e0",
+       []
+      ],
       "merge_dictionaries.py": [
        "72f1cab352dec4f333aa9f5498d6115276a3f836",
        []
@@ -393925,7 +393939,7 @@
         []
        ],
        "embedded_style_media_queries.html.ini": [
-        "327d620d44446db19999b1646cb304e578f5d9d0",
+        "286ca48631a038246bc80431ce4d5dd90a357c7c",
         []
        ],
        "embedded_style_media_queries_resized-ref.html": [
@@ -448937,7 +448951,7 @@
       ]
      ],
      "overscroll-behavior.html": [
-      "f018d5cd8769bc4cf991d437f137d6153d2e7f93",
+      "0bf335d770d8dcc0af0231a6b3bdb080fca07aa2",
       [
        null,
        {
@@ -498115,7 +498129,7 @@
        ]
       ],
       "response-clone.any.js": [
-       "9f4f36ed2d1d63c0780a890b5957e98cf9f882a3",
+       "f5cda75149e2638a5faff7473c306db1de822b82",
        [
         "fetch/api/response/response-clone.any.html",
         {
@@ -500060,6 +500074,21 @@
        }
       ]
      ],
+     "navigate.window.js": [
+      "b532a006830b485992fa54ce9fccfb5d23dabe86",
+      [
+       "fetch/data-urls/navigate.window.html",
+       {
+        "script_metadata": [
+         [
+          "timeout",
+          "long"
+         ]
+        ],
+        "timeout": "long"
+       }
+      ]
+     ],
      "processing.any.js": [
       "cec97bd6be2b2e3f1b39c7a5e8128ee48d7ac3d4",
       [
@@ -578513,7 +578542,7 @@
       }
      ]
     ],
-    "prefetch-headers.html": [
+    "prefetch-headers.https.html": [
      "0a475c7d7735cb535f24b62339fdd42d4d5443cb",
      [
       null,
@@ -578527,7 +578556,7 @@
       {}
      ]
     ],
-    "prefetch-types.html": [
+    "prefetch-types.https.html": [
      "276439e5440b2157eb2bfaf6a2fbe8b4ec05b3ff",
      [
       null,
@@ -671646,14 +671675,14 @@
      },
      "perform_actions": {
       "key.py": [
-       "eef0ab96f4bfaed7ec3736f148f2e858041274ba",
+       "6730b1c18bf761473be2cf1a54eed5f35b0a64e5",
        [
         null,
         {}
        ]
       ],
       "key_events.py": [
-       "9f912684c76f4e6b7347c8a08a8b9e9559d6d6bd",
+       "472fb54c28509cb936b98ee5c299288776a182e1",
        [
         null,
         {
@@ -671662,14 +671691,14 @@
        ]
       ],
       "key_modifiers.py": [
-       "e8ea30dd3d7d0be7ceddab672554fd871457bf7a",
+       "652106f46c2d3910b81afa6a795ae01a96524077",
        [
         null,
         {}
        ]
       ],
       "key_shortcuts.py": [
-       "b5ad7a21739ef1e3e62394b86ad29cb054d21500",
+       "46bc3c43390c5b178ff5a03b5f2cb2f8adb113a0",
        [
         null,
         {}
@@ -671690,7 +671719,7 @@
        ]
       ],
       "pointer_contextmenu.py": [
-       "50f684327f2ab044905cbd3b0da59336ead25f20",
+       "2e06e8ca59fea429ad00093100c2fb1094263032",
        [
         null,
         {}
@@ -671704,7 +671733,7 @@
        ]
       ],
       "pointer_modifier_click.py": [
-       "28c4086e0f8c99d9350523b8a29478b7c54fa17e",
+       "ffba6fc306b6913375fe0c229363ef08444252cd",
        [
         null,
         {}
diff --git a/third_party/blink/web_tests/external/wpt/css/css-overscroll-behavior/overscroll-behavior-expected.txt b/third_party/blink/web_tests/external/wpt/css/css-overscroll-behavior/overscroll-behavior-expected.txt
new file mode 100644
index 0000000..5df3fb3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-overscroll-behavior/overscroll-behavior-expected.txt
@@ -0,0 +1,4 @@
+This is a testharness.js-based test.
+FAIL overscroll-behavior prevents scroll-propagation in the area and direction as specified assert_equalhhs is not defined
+Harness: the test ran to completion.
+
diff --git a/third_party/blink/web_tests/external/wpt/css/css-overscroll-behavior/overscroll-behavior.html b/third_party/blink/web_tests/external/wpt/css/css-overscroll-behavior/overscroll-behavior.html
index f018d5cd..0bf335d 100644
--- a/third_party/blink/web_tests/external/wpt/css/css-overscroll-behavior/overscroll-behavior.html
+++ b/third_party/blink/web_tests/external/wpt/css/css-overscroll-behavior/overscroll-behavior.html
@@ -102,10 +102,10 @@
   instruction1.style.fontWeight = 'normal';
   instruction2.style.fontWeight = 'bold';
   test.step(function() {
-    assert_equals(root.scrollTop, 100);
-    assert_equals(root.scrollLeft, 0);
+    assert_equals(root.scrollTop, 100, "overscroll-behavior-y: none should prevent scroll propagation on y axis.");
+    assert_equals(root.scrollLeft, 0, "overscroll-behavior-y: none should only prevent scroll propagation on y axis.");
     window.scrollTo(0, 0);
-  }, "overscroll-behavior-y: none should only prevent scroll propagation on y axis.");
+  });
 
   container.style.overscrollBehaviorX = 'none';
   container.style.overscrollBehaviorY = 'auto';
@@ -118,9 +118,9 @@
   instruction2.style.fontWeight = 'normal';
   instruction3.style.fontWeight = 'bold';
   test.step(function() {
-    assert_equals(root.scrollTop, 0);
-    assert_equals(root.scrollLeft, 100);
-  }, "overscroll-behavior-x: none should only prevent scroll propagation on x axis.");
+    assert_equals(root.scrollTop, 0, "overscroll-behavior-x: none should only prevent scroll propagation on x axis.");
+    assert_equalhhs(root.scrollLeft, 100, "overscroll-behavior-x: none should prevent scroll propagation on x axis." );
+  });
 
   container.style.overscrollBehaviorX = 'none';
   container.style.overscrollBehaviorY = 'none';
@@ -135,11 +135,11 @@
   instruction3.style.fontWeight = 'normal';
   instruction4.style.fontWeight = 'bold';
   test.step(function() {
-    assert_equals(container.scrollTop, 0);
-    assert_equals(container.scrollLeft, 0);
-    assert_equals(root.scrollTop, 100);
-    assert_equals(root.scrollLeft, 100);
-  }, "overscroll-behavior should latch the scroll to the inner container.");
+    assert_equals(container.scrollTop, 0, "overscroll-behavior should latch the scroll to the inner container.");
+    assert_equals(container.scrollLeft, 0, "overscroll-behavior should latch the scroll to the inner container.");
+    assert_equals(root.scrollTop, 100, "overscroll-behavior should latch the scroll to the inner container.");
+    assert_equals(root.scrollLeft, 100, "overscroll-behavior should latch the scroll to the inner container.");
+  });
 
   non_scrollable.style.overscrollBehaviorX = 'none';
   non_scrollable.style.overscrollBehaviorY = 'none';
@@ -149,9 +149,9 @@
 
 function verify_non_scrollable_allows_propagation() {
   test.step(function() {
-    assert_equals(root.scrollLeft, 0);
-    assert_equals(root.scrollTop, 0);
-  }, "overscroll-behavior on non-scrollable area should not affect scroll propagation.");
+    assert_equals(root.scrollLeft, 0, "overscroll-behavior on non-scrollable area should not affect scroll propagation.");
+    assert_equals(root.scrollTop, 0, "overscroll-behavior on non-scrollable area should not affect scroll propagation.");
+  });
   actions_promise.then( () => {
     test.done();
   });
diff --git a/third_party/blink/web_tests/external/wpt/css/css-overscroll-behavior/overscroll-behavior.html.ini b/third_party/blink/web_tests/external/wpt/css/css-overscroll-behavior/overscroll-behavior.html.ini
new file mode 100644
index 0000000..d8af952c
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-overscroll-behavior/overscroll-behavior.html.ini
@@ -0,0 +1,4 @@
+[overscroll-behavior.html]
+  [overscroll-behavior prevents scroll-propagation in the area and direction as specified]
+    expected:
+      if product == "chrome": FAIL
diff --git a/third_party/blink/web_tests/external/wpt/css/css-transforms/css-transform-3d-transform-style.html.ini b/third_party/blink/web_tests/external/wpt/css/css-transforms/css-transform-3d-transform-style.html.ini
new file mode 100644
index 0000000..3584653
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-transforms/css-transform-3d-transform-style.html.ini
@@ -0,0 +1,3 @@
+[css-transform-3d-transform-style.html]
+  expected:
+    if (product == "content_shell") and (os == "mac") and (port == "mac13"): FAIL
diff --git a/third_party/blink/web_tests/external/wpt/css/css-transforms/preserve3d-and-flattening-z-order-003.html.ini b/third_party/blink/web_tests/external/wpt/css/css-transforms/preserve3d-and-flattening-z-order-003.html.ini
new file mode 100644
index 0000000..3d7677e0
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-transforms/preserve3d-and-flattening-z-order-003.html.ini
@@ -0,0 +1,3 @@
+[preserve3d-and-flattening-z-order-003.html]
+  expected:
+    if (product == "content_shell") and (os == "mac") and (port == "mac12"): FAIL
diff --git a/third_party/blink/web_tests/external/wpt/css/css-transforms/rotated-clip-under-opacity.html.ini b/third_party/blink/web_tests/external/wpt/css/css-transforms/rotated-clip-under-opacity.html.ini
index 21d403d..7b5969e 100644
--- a/third_party/blink/web_tests/external/wpt/css/css-transforms/rotated-clip-under-opacity.html.ini
+++ b/third_party/blink/web_tests/external/wpt/css/css-transforms/rotated-clip-under-opacity.html.ini
@@ -1,3 +1,4 @@
 [rotated-clip-under-opacity.html]
   expected:
     if (product == "content_shell") and (os == "mac") and (port == "mac13-arm64"): FAIL
+    if (product == "content_shell") and (os == "mac") and (port == "mac12"): FAIL
diff --git a/third_party/blink/web_tests/external/wpt/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-button-border-image-slice-001.html.ini b/third_party/blink/web_tests/external/wpt/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-button-border-image-slice-001.html.ini
new file mode 100644
index 0000000..0a20afb
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-button-border-image-slice-001.html.ini
@@ -0,0 +1,3 @@
+[kind-of-widget-fallback-input-button-border-image-slice-001.html]
+  expected:
+    if (product == "content_shell") and (os == "mac") and (port == "mac12"): FAIL
diff --git a/third_party/blink/web_tests/external/wpt/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-text-border-block-end-width-001.html.ini b/third_party/blink/web_tests/external/wpt/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-text-border-block-end-width-001.html.ini
index 5e0d7ac..d7e72534 100644
--- a/third_party/blink/web_tests/external/wpt/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-text-border-block-end-width-001.html.ini
+++ b/third_party/blink/web_tests/external/wpt/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-text-border-block-end-width-001.html.ini
@@ -1,3 +1,4 @@
 [kind-of-widget-fallback-input-search-text-border-block-end-width-001.html]
   expected:
     if (product == "content_shell") and (os == "mac") and (port == "mac12"): FAIL
+    if product == "chrome": FAIL
diff --git a/third_party/blink/web_tests/external/wpt/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-submit-border-block-end-style-001.html.ini b/third_party/blink/web_tests/external/wpt/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-submit-border-block-end-style-001.html.ini
new file mode 100644
index 0000000..62ab0a7
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-submit-border-block-end-style-001.html.ini
@@ -0,0 +1,3 @@
+[kind-of-widget-fallback-input-submit-border-block-end-style-001.html]
+  expected:
+    if (product == "content_shell") and (os == "mac") and (port == "mac13"): FAIL
diff --git a/third_party/blink/web_tests/external/wpt/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-text-border-left-style-001.html.ini b/third_party/blink/web_tests/external/wpt/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-text-border-left-style-001.html.ini
new file mode 100644
index 0000000..cc9ba56
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-text-border-left-style-001.html.ini
@@ -0,0 +1,3 @@
+[kind-of-widget-fallback-input-text-border-left-style-001.html]
+  expected:
+    if (product == "content_shell") and (os == "linux"): FAIL
diff --git a/third_party/blink/web_tests/external/wpt/css/css-writing-modes/tools/generators/README.md b/third_party/blink/web_tests/external/wpt/css/css-writing-modes/tools/generators/README.md
deleted file mode 100644
index 9bf89de..0000000
--- a/third_party/blink/web_tests/external/wpt/css/css-writing-modes/tools/generators/README.md
+++ /dev/null
@@ -1,24 +0,0 @@
-Generators
-==========
-
-Following test files are generated by the programs in this directory:
-* orthogonal-parent-shrink-to-fit-001
-
-## Setup
-
-1. Install node.js.
-2. Change the current directory to this directory.
-3. Type the following commands:
-```
-npm install
-```
-4. (optional) Install gulp globally so it'll be on your path:
-```
-sudo npm install -g gulp
-```
-
-## Generate Test Files
-
-```
-gulp
-```
diff --git a/third_party/blink/web_tests/external/wpt/css/css-writing-modes/tools/generators/generate.py b/third_party/blink/web_tests/external/wpt/css/css-writing-modes/tools/generators/generate.py
new file mode 100755
index 0000000..6d54eebc
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-writing-modes/tools/generators/generate.py
@@ -0,0 +1,86 @@
+#!/usr/bin/env python3
+import os
+import string
+
+from typing import List, Tuple
+
+test_template = """<h3>{number}: {title}</h3>
+<div class="test">
+    {html}
+</div>"""
+
+
+def generate_test_list() -> List[Tuple[str, str]]:
+    test_list = [];
+    outers = [
+        ["inline-block", '<div class="inline-block">', '</div><span class="next">ZZ</span>'],
+        ["float", '<div class="float">', '</div><span class="next">ZZ</span>'],
+        ["table-cell", '<table><tr><td>', '</td><td class="next">ZZ</td></tr></table>']];
+    middles = [
+        None,
+        ["inline-block", '<div class="inline-block">', '</div>']];
+    targets = [
+        ["block", '<div class="target">HH</div>'],
+        ["inline", '<span class="target">HH</span>'],
+        ["block with borders", '<div class="target border">HHH</div>'],
+        ["inline with borders", '<span class="target border">HHH</span>']];
+    for outer in outers:
+        for middle in middles:
+            for target in targets:
+                title = target[0];
+                html = target[1];
+                if middle is not None:
+                    title += " in " + middle[0];
+                    html = middle[1] + html + middle[2];
+                title = "Shrink-to-fit " + outer[0] + " with a child of orthogonal " + title;
+                html = outer[1] + html + outer[2];
+                test_list.append((title, html));
+    return test_list
+
+
+def read_template() -> str:
+    with open("template.html") as f:
+        return f.read()
+
+
+def main():
+    template = read_template()
+    test_list = generate_test_list()
+
+    dest_dir = os.path.abspath(
+        os.path.join(os.path.dirname(os.path.abspath(__file__)),
+                     os.path.pardir,
+                     os.path.pardir))
+
+    for index in range(-1, len(test_list)):
+        if index == -1:
+            offset = 0
+            suffix = ""
+            tests = test_list
+            title = "Shrink-to-fit with orthogonal children"
+            flags = " combo"
+        else:
+            offset = index
+            suffix = string.ascii_letters[index]
+            tests = [test_list[index]]
+            title = tests[0][0]
+            flags = ""
+
+        filename = f"orthogonal-parent-shrink-to-fit-001{suffix}.html"
+
+        tests_data = []
+        for idx, (test_title, html) in enumerate(tests):
+            number = offset + idx + 1
+            tests_data.append(test_template.format(number=number,
+                                                   title=test_title,
+                                                   html=html))
+
+        output = template.replace("{{title}}", title)
+        output = output.replace("{{flags}}", flags)
+        output = output.replace("{{tests}}", "\n".join(tests_data))
+        with open(os.path.join(dest_dir, filename), "w") as f:
+            f.write(output)
+
+
+if __name__ == "__main__":
+    main()
diff --git a/third_party/blink/web_tests/external/wpt/css/css-writing-modes/tools/generators/gulpfile.js b/third_party/blink/web_tests/external/wpt/css/css-writing-modes/tools/generators/gulpfile.js
deleted file mode 100644
index f364024..0000000
--- a/third_party/blink/web_tests/external/wpt/css/css-writing-modes/tools/generators/gulpfile.js
+++ /dev/null
@@ -1,79 +0,0 @@
-'use strict';
-
-var browserSync = null;
-var gulp = require("gulp");
-var ejs = require("gulp-ejs");
-var rename = require("gulp-rename");
-var minimist = require('minimist');
-var argv = minimist(process.argv.slice(2));
-
-gulp.task("default", [
-  "orthogonal-parent-shrink-to-fit",
-]);
-
-gulp.task("test", ["browser-sync", "watch"]);
-
-gulp.task("watch", function () {
-  gulp.watch("orthogonal-parent-shrink-to-fit.ejs", ["orthogonal-parent-shrink-to-fit"]);
-});
-
-gulp.task("browser-sync", function () {
-  if (!browserSync)
-    browserSync = require("browser-sync");
-  browserSync({
-    server: {
-      baseDir: "../../..",
-      directory: true,
-    },
-    startPath: "css-writing-modes-3/",
-  });
-});
-
-function reload() {
-  if (browserSync)
-    browserSync.reload();
-}
-
-gulp.task("server", function () {
-  var connect = require("connect");
-  var serveIndex = require("serve-index");
-  var serveStatic = require("serve-static");
-  var directory = "../../..";
-  var port = 8000;
-  connect()
-    .use(serveIndex(directory))
-    .use(serveStatic(directory))
-    .listen(port);
-  console.log("Listening on port " + port);
-})
-
-gulpTaskFromTemplateWithAffixes("orthogonal-parent-shrink-to-fit", "-001", -1, 24);
-
-gulp.task("update", function () {
-  const unicodeData = require('./unicode-data.js');
-  unicodeData.copyToLocal();
-});
-
-function gulpTaskFromTemplateWithAffixes(name, suffix, min, lim) {
-  if (argv.nocombo && min < 0)
-    min = 0;
-  if (argv.nochild && lim > 0)
-    lim = 0;
-  gulp.task(name, function () {
-    for (var i = min; i < lim; ++i) {
-      gulp.src(name + ".ejs")
-        .pipe(ejs({ index: i }))
-        .pipe(rename(name + suffix + affixFromIndex(i) + ".html"))
-        .pipe(gulp.dest("../.."));
-    }
-    reload();
-  });
-}
-
-function affixFromIndex(index) {
-  if (index < 0)
-    return "";
-  if (index >= 26)
-    throw new Error("Affix index too large (" + index + ")");
-  return String.fromCharCode("a".charCodeAt(0) + index);
-}
diff --git a/third_party/blink/web_tests/external/wpt/css/css-writing-modes/tools/generators/orthogonal-parent-shrink-to-fit.ejs b/third_party/blink/web_tests/external/wpt/css/css-writing-modes/tools/generators/orthogonal-parent-shrink-to-fit.ejs
deleted file mode 100644
index 043cbaf..0000000
--- a/third_party/blink/web_tests/external/wpt/css/css-writing-modes/tools/generators/orthogonal-parent-shrink-to-fit.ejs
+++ /dev/null
@@ -1,127 +0,0 @@
-<!DOCTYPE html>
-<meta charset="utf-8">
-<%
-var testlist = [];
-var outers = [
-    ["inline-block", '<div class="inline-block">', '</div><span class="next">ZZ</span>'],
-    ["float", '<div class="float">', '</div><span class="next">ZZ</span>'],
-    ["table-cell", '<table><tr><td>', '</td><td class="next">ZZ</td></tr></table>']];
-var middles = [
-    null,
-    ["inline-block", '<div class="inline-block">', '</div>']];
-var targets = [
-    ["block", '<div class="target">HH</div>'],
-    ["inline", '<span class="target">HH</span>'],
-    ["block with borders", '<div class="target border">HHH</div>'],
-    ["inline with borders", '<span class="target border">HHH</span>']];
-for (var outer of outers) {
-    for (var middle of middles) {
-        for (var target of targets) {
-            var title = target[0];
-            var html = target[1];
-            if (middle) {
-                title += " in " + middle[0];
-                html = middle[1] + html + middle[2];
-            }
-            title = "Shrink-to-fit " + outer[0] + " with a child of orthogonal " + title;
-            html = outer[1] + html + outer[2];
-            testlist.push([title, html]);
-        }
-    }
-}
-var min, limit, title;
-if (index < 0) {
-    min = 0;
-    limit = testlist.length;
-    title = "Shrink-to-fit with orthogonal children"
-} else {
-    min = index;
-    limit = index + 1;
-    title = testlist[index][0];
-}
-%><title>CSS Writing Modes Test: <%= title %></title>
-<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#orthogonal-flows" title="7.3. Orthogonal Flows">
-<meta name="assert" content="<%= title %>">
-<meta name="flags" content="ahem dom<%= index < 0 ? ' combo' : ''%>">
-<link rel="author" title="Koji Ishii" href="mailto:kojiishi@gmail.com">
-<link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> <!-- 2015-12-23 -->
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
-<style>
-.test {
-    border:thin solid;
-    font:20px/1 Ahem;
-}
-.target {
-    color:blue;
-    height:3em; /* height: 3em is not required. IE11 and Edge12 compute height to ICB height if
-    not set. We want the test to focus exclusively on shrink-to-fit algorithm. */
-    writing-mode:vertical-rl;
-}
-.border {
-    border-right:blue solid .5em;
-}
-.next {
-    color:orange;
-}
-.inline-block {
-    display:inline-block;
-}
-.float {
-    float:left;
-}
-h3 {
-    clear:both;
-}
-h3.fail {
-    color:red;
-}
-table {
-    border-spacing:0px;
-}
-td {
-    padding:0px;
-}
-</style>
-<div id="log"></div>
-<div id="container">
-<p>Test passes if the X-position of the <b>left</b> edge of the orange box and the <b>right</b> edge of the blue box are the same.
-<p>If script is enabled, there should be one or more PASS and no FAIL.
-<% for (var i = min; i < limit; ++i) {
-    var test = testlist[i];
-%><h3><%= (i + 1) + ": " + test[0] %></h3>
-<div class="test">
-    <%- test[1] %>
-</div>
-<% } %></div>
-<script>
-if (window.location.search == "?wait") {
-    console.log("Sleeping 5 secs for debug");
-    setup({explicit_done:true});
-    window.setTimeout(run, 5000);
-} else {
-    run();
-}
-
-function run() {
-    Array.prototype.forEach.call(document.querySelectorAll(".test"), function (node) {
-        var title = node.previousElementSibling.textContent;
-        test(function () {
-            try {
-                var targetNode = node.querySelector(".target");
-                var fontSize = parseFloat(getComputedStyle(targetNode).fontSize);
-                var targetBounds = targetNode.getBoundingClientRect();
-                assert_less_than_equal(targetBounds.width, fontSize * 2.01, "writing-mode is vertical")
-                var nextNode = node.querySelector(".next");
-                var nextBounds = nextNode.getBoundingClientRect();
-                assert_equals(nextBounds.left - targetBounds.right, 0, "the left edge of the orange box touches the right edge of the blue box");
-            } catch (e) {
-                node.previousElementSibling.classList.add("fail");
-                throw e;
-            }
-        }, title);
-    });
-    done();
-}
-</script>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-writing-modes/tools/generators/package.json b/third_party/blink/web_tests/external/wpt/css/css-writing-modes/tools/generators/package.json
deleted file mode 100644
index 8046cf4..0000000
--- a/third_party/blink/web_tests/external/wpt/css/css-writing-modes/tools/generators/package.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
-  "name": "generators",
-  "version": "1.0.0",
-  "description": "",
-  "main": "gulpfile.js",
-  "dependencies": {},
-  "devDependencies": {
-    "browser-sync": "^2.10.1",
-    "connect": "^3.4.0",
-    "ejs": "^2.3.1",
-    "gulp": "^3.8.11",
-    "gulp-ejs": "^1.1.0",
-    "gulp-rename": "^1.2.2",
-    "minimist": "^1.1.1",
-    "serve-index": "^1.7.2",
-    "serve-static": "^1.10.0"
-  },
-  "scripts": {
-    "test": "echo \"Error: no test specified\" && exit 1"
-  },
-  "author": "",
-  "license": "ISC"
-}
diff --git a/third_party/blink/web_tests/external/wpt/css/css-writing-modes/tools/generators/template.html b/third_party/blink/web_tests/external/wpt/css/css-writing-modes/tools/generators/template.html
new file mode 100644
index 0000000..74fc185
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-writing-modes/tools/generators/template.html
@@ -0,0 +1,83 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Writing Modes Test: {{title}}</title>
+<link rel="help" href="http://www.w3.org/TR/css-writing-modes-3/#orthogonal-flows" title="7.3. Orthogonal Flows">
+<meta name="assert" content="{{title}}">
+<meta name="flags" content="ahem dom{{flags}}">
+<link rel="author" title="Koji Ishii" href="mailto:kojiishi@gmail.com">
+<link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/"> <!-- 2015-12-23 -->
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
+<style>
+.test {
+    border:thin solid;
+    font:20px/1 Ahem;
+}
+.target {
+    color:blue;
+    height:3em; /* height: 3em is not required. IE11 and Edge12 compute height to ICB height if
+    not set. We want the test to focus exclusively on shrink-to-fit algorithm. */
+    writing-mode:vertical-rl;
+}
+.border {
+    border-right:blue solid .5em;
+}
+.next {
+    color:orange;
+}
+.inline-block {
+    display:inline-block;
+}
+.float {
+    float:left;
+}
+h3 {
+    clear:both;
+}
+h3.fail {
+    color:red;
+}
+table {
+    border-spacing:0px;
+}
+td {
+    padding:0px;
+}
+</style>
+<div id="log"></div>
+<div id="container">
+<p>Test passes if the X-position of the <b>left</b> edge of the orange box and the <b>right</b> edge of the blue box are the same.
+<p>If script is enabled, there should be one or more PASS and no FAIL.
+{{tests}}
+</div>
+<script>
+if (window.location.search == "?wait") {
+    console.log("Sleeping 5 secs for debug");
+    setup({explicit_done:true});
+    window.setTimeout(run, 5000);
+} else {
+    run();
+}
+
+function run() {
+    Array.prototype.forEach.call(document.querySelectorAll(".test"), function (node) {
+        var title = node.previousElementSibling.textContent;
+        test(function () {
+            try {
+                var targetNode = node.querySelector(".target");
+                var fontSize = parseFloat(getComputedStyle(targetNode).fontSize);
+                var targetBounds = targetNode.getBoundingClientRect();
+                assert_less_than_equal(targetBounds.width, fontSize * 2.01, "writing-mode is vertical")
+                var nextNode = node.querySelector(".next");
+                var nextBounds = nextNode.getBoundingClientRect();
+                assert_equals(nextBounds.left - targetBounds.right, 0, "the left edge of the orange box touches the right edge of the blue box");
+            } catch (e) {
+                node.previousElementSibling.classList.add("fail");
+                throw e;
+            }
+        }, title);
+    });
+    done();
+}
+</script>
diff --git a/third_party/blink/web_tests/external/wpt/event-timing/event-click-visibilitychange.html.ini b/third_party/blink/web_tests/external/wpt/event-timing/event-click-visibilitychange.html.ini
index 9b83651..89fce3a 100644
--- a/third_party/blink/web_tests/external/wpt/event-timing/event-click-visibilitychange.html.ini
+++ b/third_party/blink/web_tests/external/wpt/event-timing/event-click-visibilitychange.html.ini
@@ -1,6 +1,4 @@
 [event-click-visibilitychange.html]
-  expected:
-    if product == "chrome": [CRASH, ERROR]
-    TIMEOUT
+  expected: TIMEOUT
   [Event handlers which change visibility should not measure next paint.]
     expected: TIMEOUT
diff --git a/third_party/blink/web_tests/external/wpt/fetch/data-urls/navigate.window.js b/third_party/blink/web_tests/external/wpt/fetch/data-urls/navigate.window.js
new file mode 100644
index 0000000..b532a006
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/fetch/data-urls/navigate.window.js
@@ -0,0 +1,75 @@
+// META: timeout=long
+//
+// Test some edge cases around navigation to data: URLs to ensure they use the same code path
+
+[
+  {
+    input: "data:text/html,<script>parent.postMessage(1, '*')</script>",
+    result: 1,
+    name: "Nothing fancy",
+  },
+  {
+    input: "data:text/html;base64,PHNjcmlwdD5wYXJlbnQucG9zdE1lc3NhZ2UoMiwgJyonKTwvc2NyaXB0Pg==",
+    result: 2,
+    name: "base64",
+  },
+  {
+    input: "data:text/html;base64,PHNjcmlwdD5wYXJlbnQucG9zdE1lc3NhZ2UoNCwgJyonKTwvc2NyaXB0Pr+/",
+    result: 4,
+    name: "base64 with code points that differ from base64url"
+  },
+  {
+    input: "data:text/html;base64,PHNjcml%09%20%20%0A%0C%0DwdD5wYXJlbnQucG9zdE1lc3NhZ2UoNiwgJyonKTwvc2NyaXB0Pg==",
+    result: 6,
+    name: "ASCII whitespace in the input is removed"
+  }
+].forEach(({ input, result, name }) => {
+  // Use promise_test so they go sequentially
+  promise_test(async t => {
+    const event = await new Promise((resolve, reject) => {
+      self.addEventListener("message", t.step_func(resolve), { once: true });
+      const frame = document.body.appendChild(document.createElement("iframe"));
+      t.add_cleanup(() => frame.remove());
+
+      // The assumption is that postMessage() is quicker
+      t.step_timeout(reject, 500);
+      frame.src = input;
+    });
+    assert_equals(event.data, result);
+  }, name);
+});
+
+// Failure cases
+[
+  {
+    input: "data:text/html;base64,PHNjcmlwdD5wYXJlbnQucG9zdE1lc3NhZ2UoMywgJyonKTwvc2NyaXB0Pg=",
+    name: "base64 with incorrect padding",
+  },
+  {
+    input: "data:text/html;base64,PHNjcmlwdD5wYXJlbnQucG9zdE1lc3NhZ2UoNSwgJyonKTwvc2NyaXB0Pr-_",
+    name: "base64url is not supported"
+  },
+  {
+    input: "data:text/html;base64,%0BPHNjcmlwdD5wYXJlbnQucG9zdE1lc3NhZ2UoNywgJyonKTwvc2NyaXB0Pg==",
+    name: "Vertical tab in the input leads to an error"
+  }
+].forEach(({ input, name }) => {
+  // Continue to use promise_test so they go sequentially
+  promise_test(async t => {
+    const event = await new Promise((resolve, reject) => {
+      self.addEventListener("message", t.step_func(reject), { once: true });
+      const frame = document.body.appendChild(document.createElement("iframe"));
+      t.add_cleanup(() => frame.remove());
+
+      // The assumption is that postMessage() is quicker
+      t.step_timeout(resolve, 500);
+      frame.src = input;
+    });
+  }, name);
+});
+
+// I found some of the interesting code point cases above through brute force:
+//
+// for (i = 0; i < 256; i++) {
+//   w(btoa("<script>parent.postMessage(5, '*')<\/script>" + String.fromCodePoint(i) + String.fromCodePoint(i)));
+// }
diff --git a/third_party/blink/web_tests/external/wpt/lint.ignore b/third_party/blink/web_tests/external/wpt/lint.ignore
index 056bbd0..c8792f5 100644
--- a/third_party/blink/web_tests/external/wpt/lint.ignore
+++ b/third_party/blink/web_tests/external/wpt/lint.ignore
@@ -452,7 +452,7 @@
 CONSOLE: css/css-shapes/shape-outside/supported-shapes/support/test-utils.js
 CONSOLE: css/css-values/viewport-units-css2-001.html
 CONSOLE: css/css-writing-modes/orthogonal-parent-shrink-to-fit-001*.html
-CONSOLE: css/css-writing-modes/tools/generators/gulpfile.js
+CONSOLE: css/css-writing-modes/tools/generators/template.html
 
 TRAILING WHITESPACE: css/css-fonts/support/fonts/gsubtest-lookup3.ufo/features.fea
 
@@ -492,6 +492,7 @@
 SET TIMEOUT: css/css-writing-modes/orthogonal-parent-shrink-to-fit-001w.html
 SET TIMEOUT: css/css-writing-modes/orthogonal-parent-shrink-to-fit-001x.html
 SET TIMEOUT: css/css-writing-modes/support/text-orientation.js
+SET TIMEOUT: css/css-writing-modes/tools/generators/template.html
 SET TIMEOUT: css/CSS2/backgrounds/background-root-101.xht
 SET TIMEOUT: css/CSS2/backgrounds/background-root-102.xht
 SET TIMEOUT: css/CSS2/backgrounds/background-root-103.xht
diff --git a/third_party/blink/web_tests/external/wpt/long-animation-frame/tentative/loaf-blocking-duration.html.ini b/third_party/blink/web_tests/external/wpt/long-animation-frame/tentative/loaf-blocking-duration.html.ini
index 5d138694..0fb8161 100644
--- a/third_party/blink/web_tests/external/wpt/long-animation-frame/tentative/loaf-blocking-duration.html.ini
+++ b/third_party/blink/web_tests/external/wpt/long-animation-frame/tentative/loaf-blocking-duration.html.ini
@@ -1,4 +1,4 @@
 [loaf-blocking-duration.html]
   [LoAF blockingDuration should be equivalent to long tasks: Non-rendering]
     expected:
-      if (product == "content_shell") and (os == "win") and (port == "win10.20h2"): FAIL
+      if (product == "content_shell") and (os == "win"): FAIL
diff --git a/third_party/blink/web_tests/external/wpt/pointerevents/pointerevent_contextmenu_is_a_pointerevent.html.ini b/third_party/blink/web_tests/external/wpt/pointerevents/pointerevent_contextmenu_is_a_pointerevent.html.ini
index a2c6066f..8b54c2e 100644
--- a/third_party/blink/web_tests/external/wpt/pointerevents/pointerevent_contextmenu_is_a_pointerevent.html.ini
+++ b/third_party/blink/web_tests/external/wpt/pointerevents/pointerevent_contextmenu_is_a_pointerevent.html.ini
@@ -1,6 +1,4 @@
 [pointerevent_contextmenu_is_a_pointerevent.html?touch]
-  expected:
-    if product == "chrome": CRASH
-    TIMEOUT
+  expected: TIMEOUT
   [contextmenu is a PointerEvent]
     expected: NOTRUN
diff --git a/third_party/blink/web_tests/external/wpt/preload/prefetch-headers.https-expected.txt b/third_party/blink/web_tests/external/wpt/preload/prefetch-headers.https-expected.txt
new file mode 100644
index 0000000..434c6ad
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/preload/prefetch-headers.https-expected.txt
@@ -0,0 +1,6 @@
+This is a testharness.js-based test.
+FAIL Prefetch should include Sec-Purpose=prefetch and Sec-Fetch-Dest=empty headers assert_equals: expected (string) "prefetch" but got (undefined) undefined
+FAIL Prefetch should not include proprietary headers (X-moz/Purpose) assert_false: expected false got true
+FAIL Prefetch should respect CORS mode assert_equals: expected (undefined) undefined but got (string) "https://web-platform.test:8444"
+Harness: the test ran to completion.
+
diff --git a/third_party/blink/web_tests/external/wpt/preload/prefetch-headers.html b/third_party/blink/web_tests/external/wpt/preload/prefetch-headers.https.html
similarity index 100%
rename from third_party/blink/web_tests/external/wpt/preload/prefetch-headers.html
rename to third_party/blink/web_tests/external/wpt/preload/prefetch-headers.https.html
diff --git a/third_party/blink/web_tests/external/wpt/preload/prefetch-headers.html.ini b/third_party/blink/web_tests/external/wpt/preload/prefetch-headers.https.html.ini
similarity index 88%
rename from third_party/blink/web_tests/external/wpt/preload/prefetch-headers.html.ini
rename to third_party/blink/web_tests/external/wpt/preload/prefetch-headers.https.html.ini
index 633afd4..a7ec2c7 100644
--- a/third_party/blink/web_tests/external/wpt/preload/prefetch-headers.html.ini
+++ b/third_party/blink/web_tests/external/wpt/preload/prefetch-headers.https.html.ini
@@ -1,4 +1,4 @@
-[prefetch-headers.html]
+[prefetch-headers.https.html]
   [Prefetch should include Sec-Purpose=prefetch and Sec-Fetch-Dest=empty headers]
     expected: FAIL
 
diff --git a/third_party/blink/web_tests/external/wpt/preload/prefetch-types.html.ini b/third_party/blink/web_tests/external/wpt/preload/prefetch-types.html.ini
deleted file mode 100644
index 62b84b3..0000000
--- a/third_party/blink/web_tests/external/wpt/preload/prefetch-types.html.ini
+++ /dev/null
@@ -1,75 +0,0 @@
-[prefetch-types.html]
-  [Prefetch as= should work when consumed as  (http://web-platform.test:8001)]
-    expected: FAIL
-
-  [Prefetch as= should work when consumed as document (http://web-platform.test:8001)]
-    expected: FAIL
-
-  [Prefetch as= should work when consumed as image (http://web-platform.test:8001)]
-    expected: FAIL
-
-  [Prefetch as= should work when consumed as script (http://web-platform.test:8001)]
-    expected: FAIL
-
-  [Prefetch as= should work when consumed as style (http://web-platform.test:8001)]
-    expected: FAIL
-
-  [Prefetch as=document should work when consumed as  (http://web-platform.test:8001)]
-    expected: FAIL
-
-  [Prefetch as=document should work when consumed as document (http://web-platform.test:8001)]
-    expected: FAIL
-
-  [Prefetch as=document should work when consumed as image (http://web-platform.test:8001)]
-    expected: FAIL
-
-  [Prefetch as=document should work when consumed as script (http://web-platform.test:8001)]
-    expected: FAIL
-
-  [Prefetch as=document should work when consumed as style (http://web-platform.test:8001)]
-    expected: FAIL
-
-  [Prefetch as=image should work when consumed as  (http://web-platform.test:8001)]
-    expected: FAIL
-
-  [Prefetch as=image should work when consumed as document (http://web-platform.test:8001)]
-    expected: FAIL
-
-  [Prefetch as=image should work when consumed as image (http://web-platform.test:8001)]
-    expected: FAIL
-
-  [Prefetch as=image should work when consumed as script (http://web-platform.test:8001)]
-    expected: FAIL
-
-  [Prefetch as=image should work when consumed as style (http://web-platform.test:8001)]
-    expected: FAIL
-
-  [Prefetch as=script should work when consumed as  (http://web-platform.test:8001)]
-    expected: FAIL
-
-  [Prefetch as=script should work when consumed as document (http://web-platform.test:8001)]
-    expected: FAIL
-
-  [Prefetch as=script should work when consumed as image (http://web-platform.test:8001)]
-    expected: FAIL
-
-  [Prefetch as=script should work when consumed as script (http://web-platform.test:8001)]
-    expected: FAIL
-
-  [Prefetch as=script should work when consumed as style (http://web-platform.test:8001)]
-    expected: FAIL
-
-  [Prefetch as=style should work when consumed as  (http://web-platform.test:8001)]
-    expected: FAIL
-
-  [Prefetch as=style should work when consumed as document (http://web-platform.test:8001)]
-    expected: FAIL
-
-  [Prefetch as=style should work when consumed as image (http://web-platform.test:8001)]
-    expected: FAIL
-
-  [Prefetch as=style should work when consumed as script (http://web-platform.test:8001)]
-    expected: FAIL
-
-  [Prefetch as=style should work when consumed as style (http://web-platform.test:8001)]
-    expected: FAIL
diff --git a/third_party/blink/web_tests/external/wpt/preload/prefetch-types.html b/third_party/blink/web_tests/external/wpt/preload/prefetch-types.https.html
similarity index 100%
rename from third_party/blink/web_tests/external/wpt/preload/prefetch-types.html
rename to third_party/blink/web_tests/external/wpt/preload/prefetch-types.https.html
diff --git a/third_party/blink/web_tests/external/wpt/webdriver/tests/perform_actions/conftest.py b/third_party/blink/web_tests/external/wpt/webdriver/tests/perform_actions/conftest.py
index 30069a0..f2060a8 100644
--- a/third_party/blink/web_tests/external/wpt/webdriver/tests/perform_actions/conftest.py
+++ b/third_party/blink/web_tests/external/wpt/webdriver/tests/perform_actions/conftest.py
@@ -2,8 +2,6 @@
 
 from webdriver.error import NoSuchWindowException
 
-from tests.perform_actions.support.keys import Keys
-
 
 @pytest.fixture
 def session_new_window(capabilities, session):
@@ -77,14 +75,6 @@
 
 
 @pytest.fixture
-def modifier_key(session):
-    if session.capabilities["platformName"] == "mac":
-        return Keys.META
-    else:
-        return Keys.CONTROL
-
-
-@pytest.fixture
 def test_actions_page(session, url):
     session.url = url("/webdriver/tests/support/html/test_actions.html")
 
diff --git a/third_party/blink/web_tests/external/wpt/webdriver/tests/perform_actions/key.py b/third_party/blink/web_tests/external/wpt/webdriver/tests/perform_actions/key.py
index eef0ab96..6730b1c 100644
--- a/third_party/blink/web_tests/external/wpt/webdriver/tests/perform_actions/key.py
+++ b/third_party/blink/web_tests/external/wpt/webdriver/tests/perform_actions/key.py
@@ -2,8 +2,8 @@
 
 from webdriver.error import NoSuchWindowException
 
-from tests.perform_actions.support.keys import Keys
 from tests.perform_actions.support.refine import get_keys
+from tests.support.keys import Keys
 
 
 def test_null_response_value(session, key_chain):
diff --git a/third_party/blink/web_tests/external/wpt/webdriver/tests/perform_actions/key_events.py b/third_party/blink/web_tests/external/wpt/webdriver/tests/perform_actions/key_events.py
index 9f912684..472fb54c 100644
--- a/third_party/blink/web_tests/external/wpt/webdriver/tests/perform_actions/key_events.py
+++ b/third_party/blink/web_tests/external/wpt/webdriver/tests/perform_actions/key_events.py
@@ -4,9 +4,9 @@
 
 import pytest
 
-from tests.perform_actions.support.keys import ALL_EVENTS, Keys, ALTERNATIVE_KEY_NAMES
 from tests.perform_actions.support.refine import get_events, get_keys
 from tests.support.helpers import filter_dict, filter_supported_key_events
+from tests.support.keys import ALL_EVENTS, ALTERNATIVE_KEY_NAMES, Keys
 
 
 def test_keyup_only_sends_no_events(session, key_reporter, key_chain):
diff --git a/third_party/blink/web_tests/external/wpt/webdriver/tests/perform_actions/key_modifiers.py b/third_party/blink/web_tests/external/wpt/webdriver/tests/perform_actions/key_modifiers.py
index e8ea30d..652106f 100644
--- a/third_party/blink/web_tests/external/wpt/webdriver/tests/perform_actions/key_modifiers.py
+++ b/third_party/blink/web_tests/external/wpt/webdriver/tests/perform_actions/key_modifiers.py
@@ -1,6 +1,6 @@
 import pytest
 
-from tests.perform_actions.support.keys import Keys
+from tests.support.keys import Keys
 
 
 @pytest.mark.parametrize("modifier", [Keys.SHIFT, Keys.R_SHIFT])
diff --git a/third_party/blink/web_tests/external/wpt/webdriver/tests/perform_actions/key_shortcuts.py b/third_party/blink/web_tests/external/wpt/webdriver/tests/perform_actions/key_shortcuts.py
index b5ad7a2..46bc3c4 100644
--- a/third_party/blink/web_tests/external/wpt/webdriver/tests/perform_actions/key_shortcuts.py
+++ b/third_party/blink/web_tests/external/wpt/webdriver/tests/perform_actions/key_shortcuts.py
@@ -1,5 +1,5 @@
-from tests.perform_actions.support.keys import Keys
 from tests.perform_actions.support.refine import get_keys
+from tests.support.keys import Keys
 
 
 def test_mod_a_and_backspace_deletes_all_text(session, key_reporter, key_chain, modifier_key):
diff --git a/third_party/blink/web_tests/external/wpt/webdriver/tests/perform_actions/pointer_contextmenu.py b/third_party/blink/web_tests/external/wpt/webdriver/tests/perform_actions/pointer_contextmenu.py
index 50f684327..2e06e8ca5 100644
--- a/third_party/blink/web_tests/external/wpt/webdriver/tests/perform_actions/pointer_contextmenu.py
+++ b/third_party/blink/web_tests/external/wpt/webdriver/tests/perform_actions/pointer_contextmenu.py
@@ -1,8 +1,8 @@
 import pytest
 
-from tests.perform_actions.support.keys import Keys
 from tests.perform_actions.support.refine import get_events
 from tests.support.helpers import filter_dict
+from tests.support.keys import Keys
 
 
 @pytest.mark.parametrize("modifier, prop", [
diff --git a/third_party/blink/web_tests/external/wpt/webdriver/tests/perform_actions/pointer_modifier_click.py b/third_party/blink/web_tests/external/wpt/webdriver/tests/perform_actions/pointer_modifier_click.py
index 28c4086..ffba6fc3 100644
--- a/third_party/blink/web_tests/external/wpt/webdriver/tests/perform_actions/pointer_modifier_click.py
+++ b/third_party/blink/web_tests/external/wpt/webdriver/tests/perform_actions/pointer_modifier_click.py
@@ -1,8 +1,8 @@
 import pytest
 
-from tests.perform_actions.support.keys import Keys
 from tests.perform_actions.support.refine import get_events
 from tests.support.helpers import filter_dict
+from tests.support.keys import Keys
 
 
 @pytest.mark.parametrize("modifier, prop", [
diff --git a/third_party/blink/web_tests/external/wpt/webdriver/tests/support/fixtures.py b/third_party/blink/web_tests/external/wpt/webdriver/tests/support/fixtures.py
index d0a0869..0755d70 100644
--- a/third_party/blink/web_tests/external/wpt/webdriver/tests/support/fixtures.py
+++ b/third_party/blink/web_tests/external/wpt/webdriver/tests/support/fixtures.py
@@ -12,6 +12,7 @@
 from tests.support.helpers import cleanup_session, deep_update
 from tests.support.inline import build_inline
 from tests.support.http_request import HTTPRequest
+from tests.support.keys import Keys
 
 
 SCRIPT_TIMEOUT = 1
@@ -210,6 +211,14 @@
 
 
 @pytest.fixture
+def modifier_key(session):
+    if session.capabilities["platformName"] == "mac":
+        return Keys.META
+    else:
+        return Keys.CONTROL
+
+
+@pytest.fixture
 def inline(url):
     """Take a source extract and produces well-formed documents.
 
diff --git a/third_party/blink/web_tests/external/wpt/webdriver/tests/perform_actions/support/keys.py b/third_party/blink/web_tests/external/wpt/webdriver/tests/support/keys.py
similarity index 100%
rename from third_party/blink/web_tests/external/wpt/webdriver/tests/perform_actions/support/keys.py
rename to third_party/blink/web_tests/external/wpt/webdriver/tests/support/keys.py
diff --git a/third_party/blink/web_tests/external/wpt/webvtt/rendering/cues-with-video/processing-model/embedded_style_media_queries.html.ini b/third_party/blink/web_tests/external/wpt/webvtt/rendering/cues-with-video/processing-model/embedded_style_media_queries.html.ini
index 327d620..286ca48 100644
--- a/third_party/blink/web_tests/external/wpt/webvtt/rendering/cues-with-video/processing-model/embedded_style_media_queries.html.ini
+++ b/third_party/blink/web_tests/external/wpt/webvtt/rendering/cues-with-video/processing-model/embedded_style_media_queries.html.ini
@@ -1,3 +1,3 @@
 [embedded_style_media_queries.html]
   expected:
-    if (product == "content_shell") and (os == "win") and (port == "win10.20h2"): FAIL
+    if (product == "content_shell") and (os == "win"): FAIL