diff --git a/DEPS b/DEPS
index 828304e..0952288 100644
--- a/DEPS
+++ b/DEPS
@@ -167,11 +167,11 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling Skia
   # and whatever else without interference from each other.
-  'skia_revision': '4c82a9fc83a5b2a18c1daa251121f8cb324f2d9d',
+  'skia_revision': 'd9301feae3fd789fd230afca0944f702e44e742b',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling V8
   # and whatever else without interference from each other.
-  'v8_revision': '14b4bc0d0f1dfa2c7e420c60f86443ffbb301286',
+  'v8_revision': '523df09a04420c9197e68b5f6573b667a8480f7d',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling swarming_client
   # and whatever else without interference from each other.
@@ -179,11 +179,11 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling ANGLE
   # and whatever else without interference from each other.
-  'angle_revision': '1ba72546da4ce83b340fdd965655010b75c749db',
+  'angle_revision': '23d6a0e668bfd134852ca35e5953f53ec0a2e9cb',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling SwiftShader
   # and whatever else without interference from each other.
-  'swiftshader_revision': '23463e8bb77fbc536ae4621ae28e328e8715103d',
+  'swiftshader_revision': '036463457e5f11a9257553fadb5e8c193bec6f7e',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling PDFium
   # and whatever else without interference from each other.
@@ -218,7 +218,7 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling freetype
   # and whatever else without interference from each other.
-  'freetype_revision': '1f4e5bcb19eaa9170466c8d845edfd11aba54937',
+  'freetype_revision': '1167bff3e9a6302687667c6134673e4b3fd13636',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling HarfBuzz
   # and whatever else without interference from each other.
@@ -286,7 +286,7 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling feed
   # and whatever else without interference from each other.
-  'spv_tools_revision': '8fa0f1a6567c55dcd50e1f42a3be5172789ef863',
+  'spv_tools_revision': 'c18c9ff6bc301f01b76319a818a975956abbf1d2',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling feed
   # and whatever else without interference from each other.
@@ -862,7 +862,7 @@
 
   # Build tools for Chrome OS. Note: This depends on third_party/pyelftools.
   'src/third_party/chromite': {
-      'url': Var('chromium_git') + '/chromiumos/chromite.git' + '@' + 'bd5145058235319ea6d2652b1f1d2daf785502cf',
+      'url': Var('chromium_git') + '/chromiumos/chromite.git' + '@' + '37a1d28c005888adf7f0f471f1f989b0c566e835',
       'condition': 'checkout_linux',
   },
 
@@ -887,7 +887,7 @@
   },
 
   'src/third_party/depot_tools':
-    Var('chromium_git') + '/chromium/tools/depot_tools.git' + '@' + 'd696f201295e38d907b4d8c03f9f270581b0e07c',
+    Var('chromium_git') + '/chromium/tools/depot_tools.git' + '@' + '4102985e142727b11c90f9a1eb77fe8b81963f50',
 
   'src/third_party/devtools-node-modules':
     Var('chromium_git') + '/external/github.com/ChromeDevTools/devtools-node-modules' + '@' + Var('devtools_node_modules_revision'),
@@ -1470,7 +1470,7 @@
     Var('chromium_git') + '/external/khronosgroup/webgl.git' + '@' + '7c4e67ff117d6c640e6dd17989afe2fb7da7eecb',
 
   'src/third_party/webrtc':
-    Var('webrtc_git') + '/src.git' + '@' + '7536bc539500b44a7c4ebf7d8e7fd9ef474c3fae',
+    Var('webrtc_git') + '/src.git' + '@' + 'b441acf656520aa6ff9d8864b0aa1b065f1771c8',
 
   'src/third_party/xdg-utils': {
       'url': Var('chromium_git') + '/chromium/deps/xdg-utils.git' + '@' + 'd80274d5869b17b8c9067a1022e4416ee7ed5e0d',
@@ -1532,7 +1532,7 @@
     Var('chromium_git') + '/v8/v8.git' + '@' +  Var('v8_revision'),
 
   'src-internal': {
-    'url': 'https://chrome-internal.googlesource.com/chrome/src-internal.git@d1f79f968fc009d6ae76f0f231863432649ef3d5',
+    'url': 'https://chrome-internal.googlesource.com/chrome/src-internal.git@0c59193cb7ce001a0ef845f24b2d7b1d1eac3a9d',
     'condition': 'checkout_src_internal',
   },
 
diff --git a/build/fuchsia/linux.sdk.sha1 b/build/fuchsia/linux.sdk.sha1
index 5f30743..cbcc619 100644
--- a/build/fuchsia/linux.sdk.sha1
+++ b/build/fuchsia/linux.sdk.sha1
@@ -1 +1 @@
-8900492300904953840
\ No newline at end of file
+8900302404507439696
\ No newline at end of file
diff --git a/build/fuchsia/mac.sdk.sha1 b/build/fuchsia/mac.sdk.sha1
index 057cb8f..63ebea4e 100644
--- a/build/fuchsia/mac.sdk.sha1
+++ b/build/fuchsia/mac.sdk.sha1
@@ -1 +1 @@
-8900493005257945968
\ No newline at end of file
+8900301006527102064
\ No newline at end of file
diff --git a/chrome/VERSION b/chrome/VERSION
index 1ae5797..429addd 100644
--- a/chrome/VERSION
+++ b/chrome/VERSION
@@ -1,4 +1,4 @@
 MAJOR=79
 MINOR=0
-BUILD=3934
+BUILD=3936
 PATCH=0
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/OfflinePageArchivePublisherBridge.java b/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/OfflinePageArchivePublisherBridge.java
index f0d98f62..a1a04c5 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/OfflinePageArchivePublisherBridge.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/OfflinePageArchivePublisherBridge.java
@@ -203,6 +203,15 @@
             Log.d(TAG, "Failed to finish publishing archive.");
         }
 
+        // Android Q's MediaStore.Downloads has an issue that the custom mime type which is not
+        // supported by MimeTypeMap is overridden to "application/octet-stream" when publishing.
+        // To deal with this issue we set the mime type again after publishing.
+        // See crbug.com/1010829 for more details.
+        final ContentValues mimeTypeValues = new ContentValues();
+        mimeTypeValues.put(MediaColumns.MIME_TYPE, "multipart/related");
+        if (contentResolver.update(intermediateUri, mimeTypeValues, null, null) != 1) {
+            Log.d(TAG, "Failed to update mime type.");
+        }
         return intermediateUri.toString();
     }
 }
diff --git a/chrome/browser/chromeos/arc/accessibility/accessibility_node_info_data_wrapper.cc b/chrome/browser/chromeos/arc/accessibility/accessibility_node_info_data_wrapper.cc
index 831bce7..7451c4d 100644
--- a/chrome/browser/chromeos/arc/accessibility/accessibility_node_info_data_wrapper.cc
+++ b/chrome/browser/chromeos/arc/accessibility/accessibility_node_info_data_wrapper.cc
@@ -9,6 +9,7 @@
 #include "chrome/browser/chromeos/arc/accessibility/ax_tree_source_arc.h"
 #include "components/exo/wm_helper.h"
 #include "ui/accessibility/ax_enums.mojom.h"
+#include "ui/accessibility/ax_node.h"
 #include "ui/accessibility/platform/ax_android_constants.h"
 
 namespace arc {
@@ -383,7 +384,8 @@
   // To get bounds of a node which can be passed to AXNodeData.location,
   // - Root node must exist.
   // - Window where this tree is attached to need to be focused.
-  if (tree_source_->GetRoot()->GetId() != -1 && wm_helper) {
+  if (tree_source_->GetRoot()->GetId() != ui::AXNode::kInvalidAXID &&
+      wm_helper) {
     aura::Window* active_window = (tree_source_->is_notification() ||
                                    tree_source_->is_input_method_window())
                                       ? nullptr
diff --git a/chrome/browser/chromeos/arc/accessibility/accessibility_window_info_data_wrapper.cc b/chrome/browser/chromeos/arc/accessibility/accessibility_window_info_data_wrapper.cc
index b5e3ec70..1f9e5a7 100644
--- a/chrome/browser/chromeos/arc/accessibility/accessibility_window_info_data_wrapper.cc
+++ b/chrome/browser/chromeos/arc/accessibility/accessibility_window_info_data_wrapper.cc
@@ -7,6 +7,7 @@
 #include "chrome/browser/chromeos/arc/accessibility/ax_tree_source_arc.h"
 #include "components/exo/wm_helper.h"
 #include "ui/accessibility/ax_enums.mojom.h"
+#include "ui/accessibility/ax_node.h"
 #include "ui/accessibility/platform/ax_android_constants.h"
 
 namespace arc {
@@ -102,7 +103,8 @@
   // Bounds.
   exo::WMHelper* wm_helper =
       exo::WMHelper::HasInstance() ? exo::WMHelper::GetInstance() : nullptr;
-  if (tree_source_->GetRoot()->GetId() != -1 && wm_helper) {
+  if (tree_source_->GetRoot()->GetId() != ui::AXNode::kInvalidAXID &&
+      wm_helper) {
     aura::Window* active_window = (tree_source_->is_notification() ||
                                    tree_source_->is_input_method_window())
                                       ? nullptr
diff --git a/chrome/browser/chromeos/arc/accessibility/ax_tree_source_arc.cc b/chrome/browser/chromeos/arc/accessibility/ax_tree_source_arc.cc
index 8ca8dde..b979e29 100644
--- a/chrome/browser/chromeos/arc/accessibility/ax_tree_source_arc.cc
+++ b/chrome/browser/chromeos/arc/accessibility/ax_tree_source_arc.cc
@@ -11,7 +11,6 @@
 #include "chrome/browser/chromeos/arc/accessibility/accessibility_window_info_data_wrapper.h"
 #include "chrome/browser/chromeos/arc/accessibility/arc_accessibility_util.h"
 #include "chrome/browser/ui/aura/accessibility/automation_manager_aura.h"
-#include "chrome/common/extensions/chrome_extension_messages.h"
 #include "extensions/browser/api/automation_internal/automation_event_router.h"
 #include "extensions/common/extension_messages.h"
 #include "ui/accessibility/platform/ax_android_constants.h"
@@ -30,9 +29,9 @@
 
 AXTreeSourceArc::AXTreeSourceArc(Delegate* delegate)
     : current_tree_serializer_(new AXTreeArcSerializer(this)),
-      root_id_(-1),
-      window_id_(-1),
-      focused_id_(-1),
+      root_id_(ui::AXNode::kInvalidAXID),
+      window_id_(ui::AXNode::kInvalidAXID),
+      focused_id_(ui::AXNode::kInvalidAXID),
       is_notification_(false),
       is_input_method_window_(false),
       delegate_(delegate) {}
@@ -45,7 +44,7 @@
   tree_map_.clear();
   parent_map_.clear();
   cached_computed_bounds_.clear();
-  root_id_ = -1;
+  root_id_ = ui::AXNode::kInvalidAXID;
 
   window_id_ = event_data->window_id;
   is_notification_ = event_data->notification_key.has_value();
@@ -161,8 +160,8 @@
   }
 
   // Calculate the focused ID.
-  if (focused_id_ < 0) {
-    if (root_id_ >= 0) {
+  if (focused_id_ == ui::AXNode::kInvalidAXID) {
+    if (root_id_ != ui::AXNode::kInvalidAXID) {
       ArcAccessibilityInfoData* root = GetRoot();
       // TODO (sarakato): Add proper fix once cause of invalid node is known.
       if (!IsValid(root)) {
@@ -221,7 +220,7 @@
 
 bool AXTreeSourceArc::GetTreeData(ui::AXTreeData* data) const {
   data->tree_id = ax_tree_id();
-  if (focused_id_ >= 0) {
+  if (focused_id_ != ui::AXNode::kInvalidAXID) {
     data->focus_id = focused_id_;
   }
   return true;
@@ -241,7 +240,7 @@
 
 int32_t AXTreeSourceArc::GetId(ArcAccessibilityInfoData* info_data) const {
   if (!info_data)
-    return -1;
+    return ui::AXNode::kInvalidAXID;
   return info_data->GetId();
 }
 
@@ -351,7 +350,7 @@
 
 const gfx::Rect AXTreeSourceArc::GetBounds(ArcAccessibilityInfoData* info_data,
                                            aura::Window* active_window) const {
-  DCHECK_NE(root_id_, -1);
+  DCHECK_NE(root_id_, ui::AXNode::kInvalidAXID);
 
   gfx::Rect info_data_bounds = info_data->GetBounds();
 
diff --git a/chrome/browser/chromeos/arc/accessibility/ax_tree_source_arc_unittest.cc b/chrome/browser/chromeos/arc/accessibility/ax_tree_source_arc_unittest.cc
index 59e8dbb..371995a 100644
--- a/chrome/browser/chromeos/arc/accessibility/ax_tree_source_arc_unittest.cc
+++ b/chrome/browser/chromeos/arc/accessibility/ax_tree_source_arc_unittest.cc
@@ -695,7 +695,7 @@
 
   // Nothing should be focused when there are no nodes.
   EXPECT_TRUE(CallGetTreeData(&data));
-  EXPECT_EQ(-1, data.focus_id);
+  EXPECT_EQ(ui::AXNode::kInvalidAXID, data.focus_id);
 
   // Add a child node.
   root->root_node_id = 2;
diff --git a/chrome/browser/chromeos/extensions/autotest_private/autotest_private_api.cc b/chrome/browser/chromeos/extensions/autotest_private/autotest_private_api.cc
index 8bc59f0d..fe06e06 100644
--- a/chrome/browser/chromeos/extensions/autotest_private/autotest_private_api.cc
+++ b/chrome/browser/chromeos/extensions/autotest_private/autotest_private_api.cc
@@ -2480,8 +2480,9 @@
 
   auto result = std::make_unique<base::DictionaryValue>();
   result->SetDictionary("bounds", std::move(bounds_dict));
-  result->SetBoolean("is_animating", is_animating);
   result->SetString("display_id", base::NumberToString(display_id));
+  result->SetBoolean("is_animating", is_animating);
+  result->SetBoolean("is_visible", arc_window->IsVisible());
 
   return RespondNow(OneArgument(std::move(result)));
 }
diff --git a/chrome/browser/chromeos/extensions/input_method_apitest_chromeos.cc b/chrome/browser/chromeos/extensions/input_method_apitest_chromeos.cc
index 53ffc69..df6bf27 100644
--- a/chrome/browser/chromeos/extensions/input_method_apitest_chromeos.cc
+++ b/chrome/browser/chromeos/extensions/input_method_apitest_chromeos.cc
@@ -30,7 +30,7 @@
 #include "ui/base/ime/chromeos/input_method_whitelist.h"
 #include "ui/base/ime/ime_bridge.h"
 
-using namespace chromeos::input_method;
+using chromeos::input_method::InputMethodManager;
 
 namespace {
 
@@ -62,7 +62,8 @@
       // background.
       InputMethodManager* manager = InputMethodManager::Get();
       manager->GetInputMethodUtil()->InitXkbInputMethodsForTesting(
-          *InputMethodWhitelist().GetSupportedInputMethods());
+          *chromeos::input_method::InputMethodWhitelist()
+               .GetSupportedInputMethods());
 
       std::vector<std::string> keyboard_layouts;
       keyboard_layouts.push_back(
@@ -157,7 +158,7 @@
   extension_ime_ids.push_back(kTestIMEID2);
   InputMethodManager::Get()->GetActiveIMEState()->SetEnabledExtensionImes(
       &extension_ime_ids);
-  InputMethodDescriptors extension_imes;
+  chromeos::input_method::InputMethodDescriptors extension_imes;
   InputMethodManager::Get()->GetActiveIMEState()->GetInputMethodExtensions(
       &extension_imes);
   InputMethodManager::Get()->GetActiveIMEState()->ChangeInputMethod(
diff --git a/chrome/browser/chromeos/extensions/quick_unlock_private/quick_unlock_private_api_unittest.cc b/chrome/browser/chromeos/extensions/quick_unlock_private/quick_unlock_private_api_unittest.cc
index 6b76422..e1759bd 100644
--- a/chrome/browser/chromeos/extensions/quick_unlock_private/quick_unlock_private_api_unittest.cc
+++ b/chrome/browser/chromeos/extensions/quick_unlock_private/quick_unlock_private_api_unittest.cc
@@ -41,7 +41,6 @@
 #include "extensions/browser/api_test_utils.h"
 #include "extensions/browser/extension_function_dispatcher.h"
 
-using namespace extensions;
 namespace quick_unlock_private = extensions::api::quick_unlock_private;
 using CredentialCheck = quick_unlock_private::CredentialCheck;
 using CredentialProblem = quick_unlock_private::CredentialProblem;
@@ -50,10 +49,6 @@
 using QuickUnlockModeList = std::vector<QuickUnlockMode>;
 using CredentialList = std::vector<std::string>;
 
-using ::testing::_;
-using ::testing::Invoke;
-using ::testing::WithArgs;
-
 namespace chromeos {
 namespace {
 
@@ -132,7 +127,7 @@
 }  // namespace
 
 class QuickUnlockPrivateUnitTest
-    : public ExtensionApiUnittest,
+    : public extensions::ExtensionApiUnittest,
       public ::testing::WithParamInterface<TestType> {
  public:
   QuickUnlockPrivateUnitTest() = default;
@@ -224,7 +219,7 @@
   std::unique_ptr<quick_unlock_private::TokenInfo> GetAuthToken(
       const std::string& password) {
     // Setup a fake authenticator to avoid calling cryptohome methods.
-    auto* func = new QuickUnlockPrivateGetAuthTokenFunction();
+    auto* func = new extensions::QuickUnlockPrivateGetAuthTokenFunction();
     func->SetAuthenticatorAllocatorForTesting(
         base::Bind(&CreateFakeAuthenticator));
 
@@ -241,7 +236,7 @@
   // password. Expects the function to fail and returns the error.
   std::string RunAuthTokenWithInvalidPassword() {
     // Setup a fake authenticator to avoid calling cryptohome methods.
-    auto* func = new QuickUnlockPrivateGetAuthTokenFunction();
+    auto* func = new extensions::QuickUnlockPrivateGetAuthTokenFunction();
     func->SetAuthenticatorAllocatorForTesting(
         base::Bind(&CreateFakeAuthenticator));
 
@@ -255,8 +250,9 @@
     auto params = std::make_unique<base::ListValue>();
     params->AppendString(token);
     params->AppendBoolean(enabled);
-    RunFunction(new QuickUnlockPrivateSetLockScreenEnabledFunction(),
-                std::move(params));
+    RunFunction(
+        new extensions::QuickUnlockPrivateSetLockScreenEnabledFunction(),
+        std::move(params));
   }
 
   // Wrapper for chrome.quickUnlockPrivate.setLockScreenEnabled.
@@ -265,16 +261,16 @@
     params->AppendString(kInvalidToken);
     params->AppendBoolean(enabled);
     return RunFunctionAndReturnError(
-        new QuickUnlockPrivateSetLockScreenEnabledFunction(),
+        new extensions::QuickUnlockPrivateSetLockScreenEnabledFunction(),
         std::move(params));
   }
 
   // Wrapper for chrome.quickUnlockPrivate.getAvailableModes.
   QuickUnlockModeList GetAvailableModes() {
     // Run the function.
-    std::unique_ptr<base::Value> result =
-        RunFunction(new QuickUnlockPrivateGetAvailableModesFunction(),
-                    std::make_unique<base::ListValue>());
+    std::unique_ptr<base::Value> result = RunFunction(
+        new extensions::QuickUnlockPrivateGetAvailableModesFunction(),
+        std::make_unique<base::ListValue>());
 
     // Extract the results.
     QuickUnlockModeList modes;
@@ -293,7 +289,7 @@
   // Wrapper for chrome.quickUnlockPrivate.getActiveModes.
   QuickUnlockModeList GetActiveModes() {
     std::unique_ptr<base::Value> result =
-        RunFunction(new QuickUnlockPrivateGetActiveModesFunction(),
+        RunFunction(new extensions::QuickUnlockPrivateGetActiveModesFunction(),
                     std::make_unique<base::ListValue>());
 
     QuickUnlockModeList modes;
@@ -344,8 +340,9 @@
     params->AppendString(ToString(QuickUnlockMode::QUICK_UNLOCK_MODE_PIN));
     params->AppendString(pin);
 
-    std::unique_ptr<base::Value> result = RunFunction(
-        new QuickUnlockPrivateCheckCredentialFunction(), std::move(params));
+    std::unique_ptr<base::Value> result =
+        RunFunction(new extensions::QuickUnlockPrivateCheckCredentialFunction(),
+                    std::move(params));
 
     CredentialCheck function_result;
     EXPECT_TRUE(CredentialCheck::Populate(*result, &function_result));
@@ -357,9 +354,9 @@
     auto params = std::make_unique<base::ListValue>();
     params->AppendString(ToString(QuickUnlockMode::QUICK_UNLOCK_MODE_PIN));
 
-    std::unique_ptr<base::Value> result =
-        RunFunction(new QuickUnlockPrivateGetCredentialRequirementsFunction(),
-                    std::move(params));
+    std::unique_ptr<base::Value> result = RunFunction(
+        new extensions::QuickUnlockPrivateGetCredentialRequirementsFunction(),
+        std::move(params));
 
     CredentialRequirements function_result;
     EXPECT_TRUE(CredentialRequirements::Populate(*result, &function_result));
@@ -394,7 +391,7 @@
                    const CredentialList& passwords) {
     std::unique_ptr<base::ListValue> params =
         GetSetModesParams(token_, modes, passwords);
-    auto* func = new QuickUnlockPrivateSetModesFunction();
+    auto* func = new extensions::QuickUnlockPrivateSetModesFunction();
 
     // Stub out event handling since we are not setting up an event router.
     func->SetModesChangedEventHandlerForTesting(modes_changed_handler_);
@@ -414,7 +411,7 @@
   std::string RunSetModesWithInvalidToken() {
     std::unique_ptr<base::ListValue> params = GetSetModesParams(
         kInvalidToken, {QuickUnlockMode::QUICK_UNLOCK_MODE_PIN}, {"111111"});
-    auto* func = new QuickUnlockPrivateSetModesFunction();
+    auto* func = new extensions::QuickUnlockPrivateSetModesFunction();
 
     // Stub out event handling since we are not setting up an event router.
     func->SetModesChangedEventHandlerForTesting(modes_changed_handler_);
@@ -424,10 +421,11 @@
   }
 
   std::string SetModesWithError(const std::string& args) {
-    auto* func = new QuickUnlockPrivateSetModesFunction();
+    auto* func = new extensions::QuickUnlockPrivateSetModesFunction();
     func->SetModesChangedEventHandlerForTesting(base::DoNothing());
 
-    return api_test_utils::RunFunctionAndReturnError(func, args, profile());
+    return extensions::api_test_utils::RunFunctionAndReturnError(func, args,
+                                                                 profile());
   }
 
   std::string token() { return token_; }
@@ -474,11 +472,12 @@
       scoped_refptr<ExtensionFunction> func,
       std::unique_ptr<base::ListValue> params) {
     base::RunLoop().RunUntilIdle();
-    std::unique_ptr<base::Value> result =
-        api_test_utils::RunFunctionWithDelegateAndReturnSingleResult(
+    std::unique_ptr<base::Value> result = extensions::api_test_utils::
+        RunFunctionWithDelegateAndReturnSingleResult(
             func, std::move(params), profile(),
-            std::make_unique<ExtensionFunctionDispatcher>(profile()),
-            api_test_utils::NONE);
+            std::make_unique<extensions::ExtensionFunctionDispatcher>(
+                profile()),
+            extensions::api_test_utils::NONE);
     base::RunLoop().RunUntilIdle();
     return result;
   }
@@ -488,10 +487,11 @@
       scoped_refptr<ExtensionFunction> func,
       std::unique_ptr<base::ListValue> params) {
     base::RunLoop().RunUntilIdle();
-    std::unique_ptr<ExtensionFunctionDispatcher> dispatcher(
-        new ExtensionFunctionDispatcher(profile()));
-    api_test_utils::RunFunction(func.get(), std::move(params), profile(),
-                                std::move(dispatcher), api_test_utils::NONE);
+    auto dispatcher =
+        std::make_unique<extensions::ExtensionFunctionDispatcher>(profile());
+    extensions::api_test_utils::RunFunction(func.get(), std::move(params),
+                                            profile(), std::move(dispatcher),
+                                            extensions::api_test_utils::NONE);
     EXPECT_TRUE(func->GetResultList()->empty());
     base::RunLoop().RunUntilIdle();
     return func->GetError();
@@ -507,7 +507,7 @@
 
   FakeChromeUserManager* fake_user_manager_ = nullptr;
   std::unique_ptr<user_manager::ScopedUserManager> scoped_user_manager_;
-  QuickUnlockPrivateSetModesFunction::ModesChangedEventHandler
+  extensions::QuickUnlockPrivateSetModesFunction::ModesChangedEventHandler
       modes_changed_handler_;
   bool expect_modes_changed_ = false;
   chromeos::UserContext auth_token_user_context_;
diff --git a/chrome/browser/chromeos/login/oobe_browsertest.cc b/chrome/browser/chromeos/login/oobe_browsertest.cc
index 9bb01bec..2d2b6a919 100644
--- a/chrome/browser/chromeos/login/oobe_browsertest.cc
+++ b/chrome/browser/chromeos/login/oobe_browsertest.cc
@@ -37,8 +37,6 @@
 #include "ui/base/test/ui_controls.h"
 #include "ui/views/widget/widget.h"
 
-using namespace net::test_server;
-
 namespace chromeos {
 
 class OobeTest : public OobeBaseTest {
diff --git a/chrome/browser/chromeos/login/saml/saml_browsertest.cc b/chrome/browser/chromeos/login/saml/saml_browsertest.cc
index 8fd2323..ff0032b 100644
--- a/chrome/browser/chromeos/login/saml/saml_browsertest.cc
+++ b/chrome/browser/chromeos/login/saml/saml_browsertest.cc
@@ -116,12 +116,6 @@
 
 namespace em = enterprise_management;
 
-using net::test_server::BasicHttpResponse;
-using net::test_server::HttpRequest;
-using net::test_server::HttpResponse;
-using testing::_;
-using testing::Return;
-
 namespace chromeos {
 
 namespace {
@@ -181,10 +175,11 @@
   void SetCookieValue(const std::string& cookie_value);
   void SetSamlResponseFile(const std::string& xml_file);
 
-  std::unique_ptr<HttpResponse> HandleRequest(const HttpRequest& request);
+  std::unique_ptr<net::test_server::HttpResponse> HandleRequest(
+      const net::test_server::HttpRequest& request);
 
  private:
-  std::unique_ptr<HttpResponse> BuildHTMLResponse(
+  std::unique_ptr<net::test_server::HttpResponse> BuildHTMLResponse(
       const std::string& html_template,
       const std::string& relay_state,
       const std::string& next_path);
@@ -248,8 +243,8 @@
   cookie_value_ = cookie_value;
 }
 
-std::unique_ptr<HttpResponse> FakeSamlIdp::HandleRequest(
-    const HttpRequest& request) {
+std::unique_ptr<net::test_server::HttpResponse> FakeSamlIdp::HandleRequest(
+    const net::test_server::HttpRequest& request) {
   // The scheme and host of the URL is actually not important but required to
   // get a valid GURL in order to parse |request.relative_url|.
   GURL request_url = GURL("http://localhost").Resolve(request.relative_url);
@@ -264,7 +259,7 @@
 
   if (request_path != login_auth_path_) {
     // Request not understood.
-    return std::unique_ptr<HttpResponse>();
+    return nullptr;
   }
 
   std::string relay_state;
@@ -281,7 +276,7 @@
   redirect_url =
       net::AppendQueryParameter(redirect_url, kRelayState, relay_state);
 
-  std::unique_ptr<BasicHttpResponse> http_response(new BasicHttpResponse());
+  auto http_response = std::make_unique<net::test_server::BasicHttpResponse>();
   http_response->set_code(net::HTTP_TEMPORARY_REDIRECT);
   http_response->AddCustomHeader("Location", redirect_url.spec());
   http_response->AddCustomHeader(
@@ -289,7 +284,7 @@
   return std::move(http_response);
 }
 
-std::unique_ptr<HttpResponse> FakeSamlIdp::BuildHTMLResponse(
+std::unique_ptr<net::test_server::HttpResponse> FakeSamlIdp::BuildHTMLResponse(
     const std::string& html_template,
     const std::string& relay_state,
     const std::string& next_path) {
@@ -300,7 +295,7 @@
   base::ReplaceSubstringsAfterOffset(&response_html, 0, "$Refresh",
                                      refresh_url_.spec());
 
-  std::unique_ptr<BasicHttpResponse> http_response(new BasicHttpResponse());
+  auto http_response = std::make_unique<net::test_server::BasicHttpResponse>();
   http_response->set_code(net::HTTP_OK);
   http_response->set_content(response_html);
   http_response->set_content_type("text/html");
@@ -866,9 +861,8 @@
 }
 
 guest_view::TestGuestViewManager* SAMLEnrollmentTest::GetGuestViewManager() {
-  using namespace guest_view;
-  return static_cast<TestGuestViewManager*>(
-      TestGuestViewManager::FromBrowserContext(
+  return static_cast<guest_view::TestGuestViewManager*>(
+      guest_view::TestGuestViewManager::FromBrowserContext(
           ProfileHelper::GetSigninProfile()));
 }
 
@@ -989,8 +983,8 @@
       &test_helper_, device_affiliation_ids)));
 
   // Initialize user policy.
-  EXPECT_CALL(provider_, IsInitializationComplete(_))
-      .WillRepeatedly(Return(true));
+  EXPECT_CALL(provider_, IsInitializationComplete(testing::_))
+      .WillRepeatedly(testing::Return(true));
   policy::BrowserPolicyConnector::SetPolicyProviderForTesting(&provider_);
 }
 
diff --git a/chrome/browser/chromeos/login/ui/user_adding_screen_browsertest.cc b/chrome/browser/chromeos/login/ui/user_adding_screen_browsertest.cc
index b475c08a..2f40f91 100644
--- a/chrome/browser/chromeos/login/ui/user_adding_screen_browsertest.cc
+++ b/chrome/browser/chromeos/login/ui/user_adding_screen_browsertest.cc
@@ -25,8 +25,6 @@
 #include "testing/gtest/include/gtest/gtest.h"
 #include "ui/aura/window.h"
 
-using namespace testing;
-
 namespace chromeos {
 
 class UserAddingScreenTest : public LoginManagerTest,
diff --git a/chrome/browser/extensions/api/automation/automation_apitest.cc b/chrome/browser/extensions/api/automation/automation_apitest.cc
index 55a10e5..fbea761 100644
--- a/chrome/browser/extensions/api/automation/automation_apitest.cc
+++ b/chrome/browser/extensions/api/automation/automation_apitest.cc
@@ -16,7 +16,6 @@
 #include "chrome/browser/ui/tabs/tab_strip_model.h"
 #include "chrome/common/chrome_paths.h"
 #include "chrome/common/chrome_switches.h"
-#include "chrome/common/extensions/chrome_extension_messages.h"
 #include "chrome/common/pref_names.h"
 #include "chrome/test/base/ui_test_utils.h"
 #include "components/prefs/pref_service.h"
diff --git a/chrome/browser/extensions/api/automation_internal/chrome_automation_internal_api_delegate.cc b/chrome/browser/extensions/api/automation_internal/chrome_automation_internal_api_delegate.cc
index f233313..ceb98f4 100644
--- a/chrome/browser/extensions/api/automation_internal/chrome_automation_internal_api_delegate.cc
+++ b/chrome/browser/extensions/api/automation_internal/chrome_automation_internal_api_delegate.cc
@@ -13,7 +13,6 @@
 #include "chrome/browser/profiles/profile_manager.h"
 #include "chrome/browser/ui/browser.h"
 #include "chrome/browser/ui/tabs/tab_strip_model.h"
-#include "chrome/common/extensions/chrome_extension_messages.h"
 #include "content/public/browser/web_contents.h"
 #include "extensions/common/api/automation.h"
 #include "extensions/common/api/automation_internal.h"
diff --git a/chrome/browser/extensions/api/certificate_provider/certificate_provider_apitest.cc b/chrome/browser/extensions/api/certificate_provider/certificate_provider_apitest.cc
index 864ec41..cf69be6 100644
--- a/chrome/browser/extensions/api/certificate_provider/certificate_provider_apitest.cc
+++ b/chrome/browser/extensions/api/certificate_provider/certificate_provider_apitest.cc
@@ -257,7 +257,8 @@
 
 }  // namespace
 
-IN_PROC_BROWSER_TEST_F(CertificateProviderApiTest, DISABLE_Basic) {
+// Flaky: crbug.com/1011606.
+IN_PROC_BROWSER_TEST_F(CertificateProviderApiTest, DISABLED_Basic) {
   // Start an HTTPS test server that requests a client certificate.
   net::SpawnedTestServer::SSLOptions ssl_options;
   ssl_options.request_client_certificate = true;
diff --git a/chrome/browser/extensions/chrome_extension_web_contents_observer.cc b/chrome/browser/extensions/chrome_extension_web_contents_observer.cc
index ee75477e..a1c0713 100644
--- a/chrome/browser/extensions/chrome_extension_web_contents_observer.cc
+++ b/chrome/browser/extensions/chrome_extension_web_contents_observer.cc
@@ -11,7 +11,6 @@
 #include "chrome/browser/extensions/extension_service.h"
 #include "chrome/browser/extensions/window_controller.h"
 #include "chrome/browser/metrics/chrome_metrics_service_accessor.h"
-#include "chrome/common/extensions/chrome_extension_messages.h"
 #include "chrome/common/url_constants.h"
 #include "components/rappor/rappor_service_impl.h"
 #include "content/public/browser/browser_context.h"
diff --git a/chrome/browser/lifetime/application_lifetime.cc b/chrome/browser/lifetime/application_lifetime.cc
index f8308cc..3122a1cc 100644
--- a/chrome/browser/lifetime/application_lifetime.cc
+++ b/chrome/browser/lifetime/application_lifetime.cc
@@ -28,7 +28,6 @@
 #include "chrome/browser/profiles/profile_manager.h"
 #include "chrome/common/buildflags.h"
 #include "chrome/common/chrome_constants.h"
-#include "chrome/common/chrome_switches.h"
 #include "chrome/common/pref_names.h"
 #include "components/keep_alive_registry/keep_alive_registry.h"
 #include "components/language/core/browser/pref_names.h"
@@ -247,32 +246,10 @@
   }
 #endif  // defined(OS_WIN)
 
-  auto* browser_list = BrowserList::GetInstance();
-
   // TODO(beng): Can this use ProfileManager::GetLoadedProfiles instead?
-  for (auto* browser : *browser_list)
+  for (auto* browser : *BrowserList::GetInstance())
     content::BrowserContext::SaveSessionState(browser->profile());
 
-  Browser* last_active_browser = browser_list->GetLastActive();
-
-  if (last_active_browser) {
-    Profile* last_profile = last_active_browser->profile();
-    if (last_profile) {
-      // We remove profile type decorators from the current run arguments and
-      // then append the last profile type that invoked the restart, in the old
-      // switch arguments. The old switch arguments are later used to create a
-      // new command line for restart phase.
-      base::CommandLine& old_cl(*base::CommandLine::ForCurrentProcess());
-      old_cl.RemoveSwitch(switches::kGuest);
-      old_cl.RemoveSwitch(switches::kIncognito);
-
-      if (last_profile->IsIncognitoProfile())
-        old_cl.AppendSwitch(switches::kIncognito);
-      else if (last_profile->IsGuestSession())
-        old_cl.AppendSwitch(switches::kGuest);
-    }
-  }
-
   PrefService* pref_service = g_browser_process->local_state();
   pref_service->SetBoolean(prefs::kWasRestarted, true);
 
diff --git a/chrome/browser/policy/configuration_policy_handler_list_factory.cc b/chrome/browser/policy/configuration_policy_handler_list_factory.cc
index 0ebcb6a..6ca09b3b 100644
--- a/chrome/browser/policy/configuration_policy_handler_list_factory.cc
+++ b/chrome/browser/policy/configuration_policy_handler_list_factory.cc
@@ -1584,10 +1584,14 @@
   handlers->AddHandler(
       std::make_unique<PrintingAllowedPinModesPolicyHandler>());
   handlers->AddHandler(
+      std::make_unique<PrintingAllowedBackgroundGraphicsModesPolicyHandler>());
+  handlers->AddHandler(
       std::make_unique<PrintingAllowedPageSizesPolicyHandler>());
   handlers->AddHandler(std::make_unique<PrintingColorDefaultPolicyHandler>());
   handlers->AddHandler(std::make_unique<PrintingDuplexDefaultPolicyHandler>());
   handlers->AddHandler(std::make_unique<PrintingPinDefaultPolicyHandler>());
+  handlers->AddHandler(
+      std::make_unique<PrintingBackgroundGraphicsDefaultPolicyHandler>());
   handlers->AddHandler(std::make_unique<PrintingSizeDefaultPolicyHandler>());
   handlers->AddHandler(std::make_unique<SimpleSchemaValidatingPolicyHandler>(
       key::kNetworkFileSharesPreconfiguredShares,
diff --git a/chrome/browser/policy/printing_restrictions_policy_handler.cc b/chrome/browser/policy/printing_restrictions_policy_handler.cc
index 9c930cb..b296b00 100644
--- a/chrome/browser/policy/printing_restrictions_policy_handler.cc
+++ b/chrome/browser/policy/printing_restrictions_policy_handler.cc
@@ -103,6 +103,22 @@
 PrintingAllowedPinModesPolicyHandler::~PrintingAllowedPinModesPolicyHandler() =
     default;
 
+PrintingAllowedBackgroundGraphicsModesPolicyHandler::
+    PrintingAllowedBackgroundGraphicsModesPolicyHandler()
+    : PrintingEnumPolicyHandler<printing::BackgroundGraphicsModeRestriction>(
+          key::kPrintingAllowedBackgroundGraphicsModes,
+          prefs::kPrintingAllowedBackgroundGraphicsModes,
+          {
+              {"any", printing::BackgroundGraphicsModeRestriction::kUnset},
+              {"enabled",
+               printing::BackgroundGraphicsModeRestriction::kEnabled},
+              {"disabled",
+               printing::BackgroundGraphicsModeRestriction::kDisabled},
+          }) {}
+
+PrintingAllowedBackgroundGraphicsModesPolicyHandler::
+    ~PrintingAllowedBackgroundGraphicsModesPolicyHandler() = default;
+
 PrintingColorDefaultPolicyHandler::PrintingColorDefaultPolicyHandler()
     : PrintingEnumPolicyHandler<printing::ColorModeRestriction>(
           key::kPrintingColorDefault,
@@ -139,6 +155,21 @@
 
 PrintingPinDefaultPolicyHandler::~PrintingPinDefaultPolicyHandler() = default;
 
+PrintingBackgroundGraphicsDefaultPolicyHandler::
+    PrintingBackgroundGraphicsDefaultPolicyHandler()
+    : PrintingEnumPolicyHandler<printing::BackgroundGraphicsModeRestriction>(
+          key::kPrintingBackgroundGraphicsDefault,
+          prefs::kPrintingBackgroundGraphicsDefault,
+          {
+              {"enabled",
+               printing::BackgroundGraphicsModeRestriction::kEnabled},
+              {"disabled",
+               printing::BackgroundGraphicsModeRestriction::kDisabled},
+          }) {}
+
+PrintingBackgroundGraphicsDefaultPolicyHandler::
+    ~PrintingBackgroundGraphicsDefaultPolicyHandler() = default;
+
 PrintingAllowedPageSizesPolicyHandler::PrintingAllowedPageSizesPolicyHandler()
     : ListPolicyHandler(key::kPrintingAllowedPageSizes,
                         base::Value::Type::DICTIONARY) {}
diff --git a/chrome/browser/policy/printing_restrictions_policy_handler.h b/chrome/browser/policy/printing_restrictions_policy_handler.h
index 0f4e0db..cac8e3e 100644
--- a/chrome/browser/policy/printing_restrictions_policy_handler.h
+++ b/chrome/browser/policy/printing_restrictions_policy_handler.h
@@ -66,6 +66,14 @@
   ~PrintingAllowedPinModesPolicyHandler() override;
 };
 
+class PrintingAllowedBackgroundGraphicsModesPolicyHandler
+    : public PrintingEnumPolicyHandler<
+          printing::BackgroundGraphicsModeRestriction> {
+ public:
+  PrintingAllowedBackgroundGraphicsModesPolicyHandler();
+  ~PrintingAllowedBackgroundGraphicsModesPolicyHandler() override;
+};
+
 class PrintingColorDefaultPolicyHandler
     : public PrintingEnumPolicyHandler<printing::ColorModeRestriction> {
  public:
@@ -87,6 +95,14 @@
   ~PrintingPinDefaultPolicyHandler() override;
 };
 
+class PrintingBackgroundGraphicsDefaultPolicyHandler
+    : public PrintingEnumPolicyHandler<
+          printing::BackgroundGraphicsModeRestriction> {
+ public:
+  PrintingBackgroundGraphicsDefaultPolicyHandler();
+  ~PrintingBackgroundGraphicsDefaultPolicyHandler() override;
+};
+
 class PrintingAllowedPageSizesPolicyHandler : public ListPolicyHandler {
  public:
   PrintingAllowedPageSizesPolicyHandler();
diff --git a/chrome/browser/renderer_host/chrome_extension_message_filter.cc b/chrome/browser/renderer_host/chrome_extension_message_filter.cc
index 8a2809c..e2d0045 100644
--- a/chrome/browser/renderer_host/chrome_extension_message_filter.cc
+++ b/chrome/browser/renderer_host/chrome_extension_message_filter.cc
@@ -22,7 +22,6 @@
 #include "chrome/browser/extensions/api/activity_log_private/activity_log_private_api.h"
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/browser/profiles/profile_manager.h"
-#include "chrome/common/extensions/chrome_extension_messages.h"
 #include "content/public/browser/notification_service.h"
 #include "content/public/browser/render_process_host.h"
 #include "extensions/browser/extension_registry.h"
@@ -39,7 +38,7 @@
 namespace {
 
 const uint32_t kExtensionFilteredMessageClasses[] = {
-    ChromeExtensionMsgStart, ExtensionMsgStart,
+    ExtensionMsgStart,
 };
 
 // Logs an action to the extension activity log for the specified profile.
diff --git a/chrome/browser/resources/chromeos/camera/src/js/models/filesystem.js b/chrome/browser/resources/chromeos/camera/src/js/models/filesystem.js
index 1db6dde..f130290 100644
--- a/chrome/browser/resources/chromeos/camera/src/js/models/filesystem.js
+++ b/chrome/browser/resources/chromeos/camera/src/js/models/filesystem.js
@@ -31,6 +31,13 @@
 cca.models.FileSystem.THUMBNAIL_PREFIX = 'thumb-';
 
 /**
+ * Width of thumbnail.
+ * @type {number}
+ * @const
+ */
+cca.models.FileSystem.THUMBNAIL_WIDTH = 480;
+
+/**
  * Directory in the internal file system.
  * @type {DirectoryEntry}
  */
@@ -381,45 +388,6 @@
 };
 
 /**
- * Creates a thumbnail from the picture.
- * @param {boolean} isVideo Picture is a video.
- * @param {string} url Picture as an URL.
- * @return {!Promise<Blob>} Promise for the result.
- * @private
- */
-cca.models.FileSystem.createThumbnail_ = function(isVideo, url) {
-  const thumbnailWidth = 480;
-  var element = document.createElement(isVideo ? 'video' : 'img');
-  if (isVideo) {
-    element.preload = 'auto';
-  }
-  return new Promise((resolve, reject) => {
-    element.addEventListener(isVideo ? 'canplay' : 'load', resolve);
-    element.addEventListener('error', reject);
-    element.src = url;
-  }).then(() => {
-    var canvas = document.createElement('canvas');
-    var context = canvas.getContext('2d');
-    var ratio = isVideo ?
-        element.videoHeight / element.videoWidth :
-        element.height / element.width;
-    var thumbnailHeight = Math.round(thumbnailWidth * ratio);
-    canvas.width = thumbnailWidth;
-    canvas.height = thumbnailHeight;
-    context.drawImage(element, 0, 0, thumbnailWidth, thumbnailHeight);
-    return new Promise((resolve, reject) => {
-      canvas.toBlob((blob) => {
-        if (blob) {
-          resolve(blob);
-        } else {
-          reject(new Error('Failed to create thumbnail.'));
-        }
-      }, 'image/jpeg');
-    });
-  });
-};
-
-/**
  * Gets the thumbnail name of the given picture.
  * @param {FileEntry} entry Picture's file entry.
  * @return {string} Thumbnail name.
@@ -437,13 +405,16 @@
  * @return {!Promise<FileEntry>} Promise for the result.
  */
 cca.models.FileSystem.saveThumbnail = function(isVideo, entry) {
-  return cca.models.FileSystem.pictureURL(entry).then((url) => {
-    return cca.models.FileSystem.createThumbnail_(isVideo, url);
-  }).then((blob) => {
-    var thumbnailName = cca.models.FileSystem.getThumbnailName(entry);
-    return cca.models.FileSystem.saveToFile_(
-        cca.models.FileSystem.internalDir, thumbnailName, blob);
-  });
+  return cca.models.FileSystem.pictureURL(entry)
+      .then((url) => {
+        return cca.util.scalePicture(
+            url, isVideo, cca.models.FileSystem.THUMBNAIL_WIDTH);
+      })
+      .then((blob) => {
+        var thumbnailName = cca.models.FileSystem.getThumbnailName(entry);
+        return cca.models.FileSystem.saveToFile_(
+            cca.models.FileSystem.internalDir, thumbnailName, blob);
+      });
 };
 
 /**
diff --git a/chrome/browser/resources/chromeos/camera/src/js/util.js b/chrome/browser/resources/chromeos/camera/src/js/util.js
index ff80ad6e..fe68cca 100644
--- a/chrome/browser/resources/chromeos/camera/src/js/util.js
+++ b/chrome/browser/resources/chromeos/camera/src/js/util.js
@@ -922,3 +922,48 @@
       'environment' :
       'user';
 };
+
+/**
+ * Scales the input picture to target width and height with respect to original
+ * aspect ratio.
+ * @param {string} url Picture as an URL.
+ * @param {boolean} isVideo Picture is a video.
+ * @param {number} width Target width to be scaled to.
+ * @param {number=} height Target height to be scaled to. In default, set to
+ *     corresponding rounded height with respect to target width and aspect
+ *     ratio of input picture.
+ * @return {!Promise<!Blob>} Promise for the result.
+ * @private
+ */
+cca.util.scalePicture = function(url, isVideo, width, height = undefined) {
+  const element = document.createElement(isVideo ? 'video' : 'img');
+  if (isVideo) {
+    element.preload = 'auto';
+  }
+  return new Promise((resolve, reject) => {
+           element.addEventListener(isVideo ? 'canplay' : 'load', resolve);
+           element.addEventListener('error', reject);
+           element.src = url;
+         })
+      .then(() => {
+        const canvas = document.createElement('canvas');
+        const context = canvas.getContext('2d');
+        if (height === undefined) {
+          const ratio = isVideo ? element.videoHeight / element.videoWidth :
+                                  element.height / element.width;
+          height = Math.round(width * ratio);
+        }
+        canvas.width = width;
+        canvas.height = height;
+        context.drawImage(element, 0, 0, width, height);
+        return new Promise((resolve, reject) => {
+          canvas.toBlob((blob) => {
+            if (blob) {
+              resolve(blob);
+            } else {
+              reject(new Error('Failed to create thumbnail.'));
+            }
+          }, 'image/jpeg');
+        });
+      });
+};
diff --git a/chrome/browser/resources/chromeos/camera/src/js/views/camera_intent.js b/chrome/browser/resources/chromeos/camera/src/js/views/camera_intent.js
index bb3baca4..0cb5c8cb 100644
--- a/chrome/browser/resources/chromeos/camera/src/js/views/camera_intent.js
+++ b/chrome/browser/resources/chromeos/camera/src/js/views/camera_intent.js
@@ -15,6 +15,14 @@
 cca.views = cca.views || {};
 
 /**
+ * The maximum number of pixels in the downscaled intent photo result. Reference
+ * from GCA: https://goto.google.com/gca-inline-bitmap-max-pixel-num
+ * @type {number}
+ * @const
+ */
+cca.views.DOWNSCALE_INTENT_MAX_PIXEL_NUM = 50 * 1024;
+
+/**
  * Creates the camera-intent-view controller.
  */
 cca.views.CameraIntent = class extends cca.views.Camera {
@@ -28,6 +36,15 @@
     const resultSaver = {
       savePhoto: async (blob) => {
         this.photoResult_ = blob;
+        if (intent.shouldDownScale) {
+          const image = await cca.util.blobToImage(blob);
+          const ratio = Math.sqrt(
+              cca.views.DOWNSCALE_INTENT_MAX_PIXEL_NUM /
+              (image.width * image.height));
+          blob = await cca.util.scalePicture(
+              image.src, false, Math.floor(image.width * ratio),
+              Math.floor(image.height * ratio));
+        }
         const buf = await blob.arrayBuffer();
         await this.intent_.appendData(new Uint8Array(buf));
       },
diff --git a/chrome/browser/resources/print_preview/data/destination.js b/chrome/browser/resources/print_preview/data/destination.js
index bfd894d..761891d5 100644
--- a/chrome/browser/resources/print_preview/data/destination.js
+++ b/chrome/browser/resources/print_preview/data/destination.js
@@ -231,14 +231,31 @@
   };
 
   /**
+   * Enumeration of background graphics printing mode restrictions used by
+   * Chromium.
+   * This has to coincide with |printing::BackgroundGraphicsModeRestriction| as
+   * defined in printing/backend/printing_restrictions.h
+   * @enum {number}
+   */
+  const BackgroundGraphicsModeRestriction = {
+    UNSET: 0,
+    ENABLED: 1,
+    DISABLED: 2,
+  };
+
+  /**
    * Policies affecting a destination.
    * @typedef {{
    *   allowedColorModes: ?print_preview.ColorModeRestriction,
    *   allowedDuplexModes: ?print_preview.DuplexModeRestriction,
    *   allowedPinMode: ?print_preview.PinModeRestriction,
+   *   allowedBackgroundGraphicsMode:
+   *       ?print_preview.BackgroundGraphicsModeRestriction,
    *   defaultColorMode: ?print_preview.ColorModeRestriction,
    *   defaultDuplexMode: ?print_preview.DuplexModeRestriction,
    *   defaultPinMode: ?print_preview.PinModeRestriction,
+   *   defaultBackgroundGraphicsMode:
+   *       ?print_preview.BackgroundGraphicsModeRestriction,
    * }}
    */
   let Policies;
@@ -833,6 +850,16 @@
           this.policies.allowedPinModes :
           null;
     }
+
+    /**
+     * @return {?print_preview.BackgroundGraphicsModeRestriction} Background
+     *     graphics mode allowed by policy.
+     */
+    get backgroundGraphicsPolicy() {
+      return this.policies && this.policies.allowedBackgroundGraphicsModes ?
+          this.policies.allowedBackgroundGraphicsModes :
+          null;
+    }
     // </if>
 
     /**
@@ -879,6 +906,14 @@
     get defaultPinPolicy() {
       return this.policies && this.policies.defaultPinMode;
     }
+
+    /**
+     * @return {?print_preview.BackgroundGraphicsModeRestriction} Value of
+     *     default background graphics setting given by policy.
+     */
+    get defaultBackgroundGraphicsPolicy() {
+      return this.policies && this.policies.defaultBackgroundGraphicsMode;
+    }
     // </if>
 
     /**
@@ -982,6 +1017,7 @@
     VendorCapability: VendorCapability,
 
     // <if expr="chromeos">
+    BackgroundGraphicsModeRestriction: BackgroundGraphicsModeRestriction,
     ColorModeRestriction: ColorModeRestriction,
     DuplexModeRestriction: DuplexModeRestriction,
     PinModeRestriction: PinModeRestriction,
diff --git a/chrome/browser/resources/print_preview/data/model.js b/chrome/browser/resources/print_preview/data/model.js
index 3d4b0bb..008f357f 100644
--- a/chrome/browser/resources/print_preview/data/model.js
+++ b/chrome/browser/resources/print_preview/data/model.js
@@ -1070,7 +1070,7 @@
       // We want to set the value nevertheless so we call |this.set| directly.
       this.set(
           'settings.color.value',
-          colorValue == print_preview.ColorModeRestriction.COLOR);
+          colorValue === print_preview.ColorModeRestriction.COLOR);
     }
     this.set('settings.color.setByPolicy', !!colorPolicy);
 
@@ -1097,7 +1097,7 @@
         !!duplexPolicy && setDuplexTypeByPolicy);
 
     const pinPolicy = this.destination.pinPolicy;
-    if (pinPolicy == print_preview.PinModeRestriction.NO_PIN) {
+    if (pinPolicy === print_preview.PinModeRestriction.NO_PIN) {
       this.set('settings.pin.available', false);
       this.set('settings.pinValue.available', false);
     }
@@ -1105,10 +1105,22 @@
     if (pinValue) {
       this.set(
           'settings.pin.value',
-          pinValue == print_preview.PinModeRestriction.PIN);
+          pinValue === print_preview.PinModeRestriction.PIN);
     }
     this.set('settings.pin.setByPolicy', !!pinPolicy);
 
+    const backgroundGraphicsPolicy = this.destination.backgroundGraphicsPolicy;
+    const backgroundGraphicsValue = backgroundGraphicsPolicy ?
+        backgroundGraphicsPolicy :
+        this.destination.defaultBackgroundGraphicsPolicy;
+    if (backgroundGraphicsValue) {
+      this.set(
+          'settings.cssBackground.value',
+          backgroundGraphicsValue ===
+              print_preview.BackgroundGraphicsModeRestriction.ENABLED);
+    }
+    this.set('settings.cssBackground.setByPolicy', !!backgroundGraphicsPolicy);
+
     this.updateManaged_();
   },
   // </if>
@@ -1117,8 +1129,8 @@
   updateManaged_: function() {
     let managedSettings = ['headerFooter'];
     // <if expr="chromeos">
-    managedSettings =
-        managedSettings.concat(['color', 'duplex', 'duplexShortEdge', 'pin']);
+    managedSettings = managedSettings.concat(
+        ['color', 'cssBackground', 'duplex', 'duplexShortEdge', 'pin']);
     // </if>
     this.controlsManaged = managedSettings.some(settingName => {
       const setting = this.getSetting(settingName);
diff --git a/chrome/browser/ui/apps/chrome_app_delegate.cc b/chrome/browser/ui/apps/chrome_app_delegate.cc
index aeaea208..f1c004ec 100644
--- a/chrome/browser/ui/apps/chrome_app_delegate.cc
+++ b/chrome/browser/ui/apps/chrome_app_delegate.cc
@@ -29,7 +29,6 @@
 #include "chrome/browser/ui/color_chooser.h"
 #include "chrome/browser/ui/scoped_tabbed_browser_displayer.h"
 #include "chrome/browser/ui/web_contents_sizer.h"
-#include "chrome/common/extensions/chrome_extension_messages.h"
 #include "components/keep_alive_registry/keep_alive_types.h"
 #include "components/keep_alive_registry/scoped_keep_alive.h"
 #include "components/zoom/zoom_controller.h"
diff --git a/chrome/browser/ui/views/location_bar/location_bar_view.cc b/chrome/browser/ui/views/location_bar/location_bar_view.cc
index 5befa89..83d2384d 100644
--- a/chrome/browser/ui/views/location_bar/location_bar_view.cc
+++ b/chrome/browser/ui/views/location_bar/location_bar_view.cc
@@ -116,6 +116,7 @@
 #include "ui/views/controls/button/image_button.h"
 #include "ui/views/controls/button/image_button_factory.h"
 #include "ui/views/controls/focus_ring.h"
+#include "ui/views/controls/highlight_path_generator.h"
 #include "ui/views/controls/label.h"
 #include "ui/views/widget/widget.h"
 
@@ -157,6 +158,21 @@
       profile_(profile),
       delegate_(delegate),
       is_popup_mode_(is_popup_mode) {
+  if (!is_popup_mode_) {
+    focus_ring_ = views::FocusRing::Install(this);
+    focus_ring_->SetHasFocusPredicate([](View* view) -> bool {
+      DCHECK_EQ(view->GetClassName(), LocationBarView::kViewClassName);
+      auto* v = static_cast<LocationBarView*>(view);
+
+      // Show focus ring when the Omnibox is visibly focused and the popup is
+      // closed.
+      return v->omnibox_view_->model()->is_caret_visible() &&
+             !v->GetOmniboxPopupView()->IsOpen();
+    });
+
+    focus_ring_->SetPathGenerator(
+        std::make_unique<views::PillHighlightPathGenerator>());
+  }
   md_observer_.Add(ui::MaterialDesignController::GetInstance());
 }
 
@@ -868,37 +884,6 @@
       GetLayoutInsets(LOCATION_BAR_ICON_INTERIOR_PADDING)));
 }
 
-void LocationBarView::RefreshFocusRing() {
-  // Popup windows should not display a focus ring.
-  if (is_popup_mode_)
-    return;
-
-  // We may not have a usable path during initialization before first layout.
-  // This will be called again once there is a usable path, so early exit.
-  const int radius = GetBorderRadius();
-  SkPath path;
-  path.addRRect(
-      SkRRect::MakeRectXY(RectToSkRect(GetLocalBounds()), radius, radius));
-  if (!views::FocusRing::IsPathUseable(path))
-    return;
-
-  // Install a focus ring if it's not already there.
-  if (!focus_ring_) {
-    focus_ring_ = views::FocusRing::Install(this);
-    focus_ring_->SetHasFocusPredicate([](View* view) -> bool {
-      auto* v = static_cast<LocationBarView*>(view);
-
-      // Show focus ring when the Omnibox is visibly focused and the popup is
-      // closed.
-      return v->omnibox_view_->model()->is_caret_visible() &&
-             !v->GetOmniboxPopupView()->IsOpen();
-    });
-  }
-
-  // Update the focus ring path.
-  focus_ring_->SetPath(path);
-}
-
 bool LocationBarView::ShouldShowKeywordBubble() const {
   return omnibox_view_->model()->is_keyword_selected();
 }
@@ -1014,7 +999,6 @@
 
 void LocationBarView::OnBoundsChanged(const gfx::Rect& previous_bounds) {
   RefreshBackground();
-  RefreshFocusRing();
 }
 
 bool LocationBarView::GetNeedsNotificationWhenVisibleBoundsChange() const {
diff --git a/chrome/browser/ui/views/location_bar/location_bar_view.h b/chrome/browser/ui/views/location_bar/location_bar_view.h
index 6514085..61fe00cc 100644
--- a/chrome/browser/ui/views/location_bar/location_bar_view.h
+++ b/chrome/browser/ui/views/location_bar/location_bar_view.h
@@ -260,9 +260,6 @@
   // Updates the color of the icon for the "clear all" button.
   void RefreshClearAllButtonIcon();
 
-  // Updates the focus ring.
-  void RefreshFocusRing();
-
   // Returns true if a keyword is selected in the model.
   bool ShouldShowKeywordBubble() const;
 
diff --git a/chrome/browser/ui/views/omnibox/omnibox_tab_switch_button.cc b/chrome/browser/ui/views/omnibox/omnibox_tab_switch_button.cc
index c113cd4..380dae1 100644
--- a/chrome/browser/ui/views/omnibox/omnibox_tab_switch_button.cc
+++ b/chrome/browser/ui/views/omnibox/omnibox_tab_switch_button.cc
@@ -20,6 +20,7 @@
 #include "ui/gfx/paint_vector_icon.h"
 #include "ui/views/accessibility/view_accessibility.h"
 #include "ui/views/animation/ink_drop_mask.h"
+#include "ui/views/controls/highlight_path_generator.h"
 
 bool OmniboxTabSwitchButton::calculated_widths_ = false;
 size_t OmniboxTabSwitchButton::icon_only_width_;
@@ -41,6 +42,7 @@
       hint_(hint),
       hint_short_(hint_short),
       theme_provider_(theme_provider) {
+  views::InstallPillHighlightPathGenerator(this);
   SetBgColorOverride(GetBackgroundColor());
   SetImage(STATE_NORMAL, gfx::CreateVectorIcon(
                              icon, GetLayoutConstant(LOCATION_BAR_ICON_SIZE),
@@ -79,17 +81,6 @@
   return size;
 }
 
-void OmniboxTabSwitchButton::OnBoundsChanged(const gfx::Rect& previous_bounds) {
-  MdTextButton::OnBoundsChanged(previous_bounds);
-  focus_ring()->SetPath(GetFocusRingPath());
-}
-
-std::unique_ptr<views::InkDropMask> OmniboxTabSwitchButton::CreateInkDropMask()
-    const {
-  return std::make_unique<views::RoundRectInkDropMask>(
-      size(), gfx::Insets(), CalculatePreferredSize().height() / 2.f);
-}
-
 void OmniboxTabSwitchButton::AnimationProgressed(
     const gfx::Animation* animation) {
   if (animation != animation_.get()) {
diff --git a/chrome/browser/ui/views/omnibox/omnibox_tab_switch_button.h b/chrome/browser/ui/views/omnibox/omnibox_tab_switch_button.h
index c58079b..131d5a2b 100644
--- a/chrome/browser/ui/views/omnibox/omnibox_tab_switch_button.h
+++ b/chrome/browser/ui/views/omnibox/omnibox_tab_switch_button.h
@@ -27,8 +27,6 @@
 
   // views::MdTextButton:
   gfx::Size CalculatePreferredSize() const override;
-  void OnBoundsChanged(const gfx::Rect& previous_bounds) override;
-  std::unique_ptr<views::InkDropMask> CreateInkDropMask() const override;
   void AnimationProgressed(const gfx::Animation* animation) override;
   void StateChanged(ButtonState old_state) override;
 
diff --git a/chrome/browser/ui/webui/print_preview/local_printer_handler_chromeos.cc b/chrome/browser/ui/webui/print_preview/local_printer_handler_chromeos.cc
index 22efad2c..9edda51b 100644
--- a/chrome/browser/ui/webui/print_preview/local_printer_handler_chromeos.cc
+++ b/chrome/browser/ui/webui/print_preview/local_printer_handler_chromeos.cc
@@ -303,6 +303,9 @@
   policies.SetKey(
       kAllowedPinModes,
       base::Value(prefs->GetInteger(prefs::kPrintingAllowedPinModes)));
+  policies.SetKey(kAllowedBackgroundGraphicsModes,
+                  base::Value(prefs->GetInteger(
+                      prefs::kPrintingAllowedBackgroundGraphicsModes)));
   policies.SetKey(kDefaultColorMode,
                   base::Value(prefs->GetInteger(prefs::kPrintingColorDefault)));
   policies.SetKey(
@@ -310,6 +313,9 @@
       base::Value(prefs->GetInteger(prefs::kPrintingDuplexDefault)));
   policies.SetKey(kDefaultPinMode,
                   base::Value(prefs->GetInteger(prefs::kPrintingPinDefault)));
+  policies.SetKey(kDefaultBackgroundGraphicsMode,
+                  base::Value(prefs->GetInteger(
+                      prefs::kPrintingBackgroundGraphicsDefault)));
   return policies;
 }
 
diff --git a/chrome/browser/ui/webui/print_preview/local_printer_handler_chromeos_unittest.cc b/chrome/browser/ui/webui/print_preview/local_printer_handler_chromeos_unittest.cc
index 756f3b3..5329108 100644
--- a/chrome/browser/ui/webui/print_preview/local_printer_handler_chromeos_unittest.cc
+++ b/chrome/browser/ui/webui/print_preview/local_printer_handler_chromeos_unittest.cc
@@ -289,20 +289,26 @@
                      std::make_unique<base::Value>(0));
   prefs->SetUserPref(prefs::kPrintingAllowedPinModes,
                      std::make_unique<base::Value>(1));
+  prefs->SetUserPref(prefs::kPrintingAllowedBackgroundGraphicsModes,
+                     std::make_unique<base::Value>(2));
   prefs->SetUserPref(prefs::kPrintingColorDefault,
                      std::make_unique<base::Value>(2));
   prefs->SetUserPref(prefs::kPrintingDuplexDefault,
                      std::make_unique<base::Value>(4));
   prefs->SetUserPref(prefs::kPrintingPinDefault,
                      std::make_unique<base::Value>(0));
+  prefs->SetUserPref(prefs::kPrintingBackgroundGraphicsDefault,
+                     std::make_unique<base::Value>(0));
 
   base::Value expected_policies(base::Value::Type::DICTIONARY);
   expected_policies.SetKey(kAllowedColorModes, base::Value(1));
   expected_policies.SetKey(kAllowedDuplexModes, base::Value(0));
   expected_policies.SetKey(kAllowedPinModes, base::Value(1));
+  expected_policies.SetKey(kAllowedBackgroundGraphicsModes, base::Value(2));
   expected_policies.SetKey(kDefaultColorMode, base::Value(2));
   expected_policies.SetKey(kDefaultDuplexMode, base::Value(4));
   expected_policies.SetKey(kDefaultPinMode, base::Value(0));
+  expected_policies.SetKey(kDefaultBackgroundGraphicsMode, base::Value(0));
 
   EXPECT_EQ(expected_policies,
             local_printer_handler_->GetNativePrinterPolicies());
diff --git a/chrome/browser/ui/webui/print_preview/policy_settings.cc b/chrome/browser/ui/webui/print_preview/policy_settings.cc
index dbaa090..11ab7245 100644
--- a/chrome/browser/ui/webui/print_preview/policy_settings.cc
+++ b/chrome/browser/ui/webui/print_preview/policy_settings.cc
@@ -14,10 +14,13 @@
     user_prefs::PrefRegistrySyncable* registry) {
   registry->RegisterBooleanPref(prefs::kPrintHeaderFooter, true);
 #if defined(OS_CHROMEOS)
+  registry->RegisterIntegerPref(prefs::kPrintingAllowedBackgroundGraphicsModes,
+                                0);
   registry->RegisterIntegerPref(prefs::kPrintingAllowedColorModes, 0);
   registry->RegisterIntegerPref(prefs::kPrintingAllowedDuplexModes, 0);
   registry->RegisterIntegerPref(prefs::kPrintingAllowedPinModes, 0);
   registry->RegisterListPref(prefs::kPrintingAllowedPageSizes);
+  registry->RegisterIntegerPref(prefs::kPrintingBackgroundGraphicsDefault, 0);
   registry->RegisterIntegerPref(prefs::kPrintingColorDefault, 0);
   registry->RegisterIntegerPref(prefs::kPrintingDuplexDefault, 0);
   registry->RegisterIntegerPref(prefs::kPrintingPinDefault, 0);
diff --git a/chrome/common/BUILD.gn b/chrome/common/BUILD.gn
index 675af59..5f472840 100644
--- a/chrome/common/BUILD.gn
+++ b/chrome/common/BUILD.gn
@@ -314,7 +314,6 @@
       "extensions/api/system_indicator/system_indicator_handler.h",
       "extensions/api/url_handlers/url_handlers_parser.cc",
       "extensions/api/url_handlers/url_handlers_parser.h",
-      "extensions/chrome_extension_messages.h",
       "extensions/chrome_extensions_api_provider.cc",
       "extensions/chrome_extensions_api_provider.h",
       "extensions/chrome_extensions_client.cc",
diff --git a/chrome/common/common_message_generator.h b/chrome/common/common_message_generator.h
index af10e5ef..c16905b 100644
--- a/chrome/common/common_message_generator.h
+++ b/chrome/common/common_message_generator.h
@@ -35,11 +35,6 @@
 #ifndef CHROME_COMMON_CAST_MESSAGES_H_
 #error "Failed to include header chrome/common/cast_messages.h"
 #endif
-#undef CHROME_COMMON_EXTENSIONS_CHROME_EXTENSION_MESSAGES_H_
-#include "chrome/common/extensions/chrome_extension_messages.h"
-#ifndef CHROME_COMMON_EXTENSIONS_CHROME_EXTENSION_MESSAGES_H_
-#error "Failed to include chrome/common/extensions/chrome_extension_messages.h"
-#endif
 #endif
 
 #if BUILDFLAG(ENABLE_PRINTING)
diff --git a/chrome/common/extensions/api/autotest_private.idl b/chrome/common/extensions/api/autotest_private.idl
index 6fb113a..1cddd72b 100644
--- a/chrome/common/extensions/api/autotest_private.idl
+++ b/chrome/common/extensions/api/autotest_private.idl
@@ -260,8 +260,9 @@
 
   dictionary ArcAppWindowInfo {
     Bounds bounds;
-    boolean isAnimating;
     DOMString displayId;
+    boolean isAnimating;
+    boolean isVisible;
   };
   
   callback GetArcAppWindowInfoCallback = void (ArcAppWindowInfo info);
diff --git a/chrome/common/extensions/chrome_extension_messages.h b/chrome/common/extensions/chrome_extension_messages.h
deleted file mode 100644
index 23b0d41..0000000
--- a/chrome/common/extensions/chrome_extension_messages.h
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef CHROME_COMMON_EXTENSIONS_CHROME_EXTENSION_MESSAGES_H_
-#define CHROME_COMMON_EXTENSIONS_CHROME_EXTENSION_MESSAGES_H_
-
-// Chrome-specific IPC messages for extensions.
-// Extension-related messages that aren't specific to Chrome live in
-// extensions/common/extension_messages.h.
-
-#include <stdint.h>
-
-#include <string>
-
-#include "base/strings/string16.h"
-#include "base/values.h"
-#include "extensions/common/api/automation_internal.h"
-#include "extensions/common/stack_frame.h"
-#include "ipc/ipc_message_macros.h"
-#include "ui/accessibility/ax_enums.mojom.h"
-#include "ui/accessibility/ax_event.h"
-#include "ui/accessibility/ax_node_data.h"
-#include "ui/accessibility/ax_relative_bounds.h"
-#include "ui/accessibility/ax_tree_data.h"
-#include "ui/accessibility/ax_tree_update.h"
-#include "ui/gfx/transform.h"
-#include "url/gurl.h"
-
-#define IPC_MESSAGE_START ChromeExtensionMsgStart
-
-// Messages sent from the browser to the renderer.
-
-#endif  // CHROME_COMMON_EXTENSIONS_CHROME_EXTENSION_MESSAGES_H_
diff --git a/chrome/common/pref_names.cc b/chrome/common/pref_names.cc
index 600a701..8cfb417e 100644
--- a/chrome/common/pref_names.cc
+++ b/chrome/common/pref_names.cc
@@ -1339,6 +1339,10 @@
 // A pref holding the allowed PIN printing modes.
 const char kPrintingAllowedPinModes[] = "printing.allowed_pin_modes";
 
+// A pref holding the allowed background graphics printing modes.
+const char kPrintingAllowedBackgroundGraphicsModes[] =
+    "printing.allowed_background_graphics_modes";
+
 // A pref holding the list of allowed printing duplex mode.
 // Empty list is no restriction.
 const char kPrintingAllowedPageSizes[] = "printing.allowed_page_sizes";
@@ -1352,6 +1356,10 @@
 // A pref holding the default PIN mode.
 const char kPrintingPinDefault[] = "printing.pin_default";
 
+// A pref holding the default background graphics mode.
+const char kPrintingBackgroundGraphicsDefault[] =
+    "printing.background_graphics_default";
+
 // A pref holding the default page size.
 const char kPrintingSizeDefault[] = "printing.size_default";
 
diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
index 30b11d7a..7fc7aed 100644
--- a/chrome/common/pref_names.h
+++ b/chrome/common/pref_names.h
@@ -428,10 +428,12 @@
 extern const char kPrintingAllowedColorModes[];
 extern const char kPrintingAllowedDuplexModes[];
 extern const char kPrintingAllowedPinModes[];
+extern const char kPrintingAllowedBackgroundGraphicsModes[];
 extern const char kPrintingAllowedPageSizes[];
 extern const char kPrintingColorDefault[];
 extern const char kPrintingDuplexDefault[];
 extern const char kPrintingPinDefault[];
+extern const char kPrintingBackgroundGraphicsDefault[];
 extern const char kPrintingSizeDefault[];
 extern const char kPrintingSendUsernameAndFilenameEnabled[];
 #endif  // OS_CHROMEOS
diff --git a/chrome/test/data/policy/policy_test_cases.json b/chrome/test/data/policy/policy_test_cases.json
index ac9b2026a..79335b6 100644
--- a/chrome/test/data/policy/policy_test_cases.json
+++ b/chrome/test/data/policy/policy_test_cases.json
@@ -347,6 +347,14 @@
     ]
   },
 
+  "PrintingAllowedBackgroundGraphicsModes": {
+    "os": ["chromeos"],
+    "test_policy": { "PrintingAllowedBackgroundGraphicsModes": "enabled" },
+    "pref_mappings": [
+      { "pref": "printing.allowed_background_graphics_modes" }
+    ]
+  },
+
   "PrintingAllowedPageSizes": {
     "os": ["chromeos"],
     "test_policy": { "PrintingAllowedPageSizes": [{"WidthUm": 210000, "HeightUm": 297000}] },
@@ -379,6 +387,14 @@
     ]
   },
 
+  "PrintingBackgroundGraphicsDefault": {
+    "os": ["chromeos"],
+    "test_policy": { "PrintingBackgroundGraphicsDefault": "enabled" },
+    "pref_mappings": [
+      { "pref": "printing.background_graphics_default" }
+    ]
+  },
+
   "PrintingSizeDefault": {
     "os": ["chromeos"],
     "test_policy": { "PrintingSizeDefault": {"WidthUm": 210000, "HeightUm": 297000} },
diff --git a/chrome/test/data/webui/print_preview/model_settings_policy_test.js b/chrome/test/data/webui/print_preview/model_settings_policy_test.js
index 3f3906a..ae3a1f4 100644
--- a/chrome/test/data/webui/print_preview/model_settings_policy_test.js
+++ b/chrome/test/data/webui/print_preview/model_settings_policy_test.js
@@ -334,5 +334,96 @@
             subtestParams.expectedEnforced, model.settings.pin.setByPolicy);
       });
     });
+
+    test('background graphics managed', function() {
+      [{
+        // No policies, settings is modifiable.
+        documentIsModifiable: true,
+        expectedValue: false,
+        expectedAvailable: true,
+        expectedManaged: false,
+        expectedEnforced: false,
+      },
+       {
+         // Policy has no effect, setting is not available for non-modifiable
+         // content.
+         documentIsModifiable: false,
+         backgroundGraphicsPolicy:
+             print_preview.BackgroundGraphicsModeRestriction.UNSET,
+         backgroundGraphicsDefault:
+             print_preview.BackgroundGraphicsModeRestriction.ENABLED,
+         expectedValue: false,
+         expectedAvailable: false,
+         expectedManaged: false,
+         expectedEnforced: false,
+       },
+       {
+         // Policy is DISABLED, setting is not modifiable.
+         documentIsModifiable: true,
+         backgroundGraphicsPolicy:
+             print_preview.BackgroundGraphicsModeRestriction.DISABLED,
+         expectedValue: false,
+         expectedAvailable: true,
+         expectedManaged: true,
+         expectedEnforced: true,
+       },
+       {
+         // No restriction policy, setting is modifiable.
+         documentIsModifiable: true,
+         backgroundGraphicsPolicy:
+             print_preview.BackgroundGraphicsModeRestriction.UNSET,
+         backgroundGraphicsDefault:
+             print_preview.BackgroundGraphicsModeRestriction.DISABLED,
+         expectedValue: false,
+         expectedAvailable: true,
+         expectedManaged: false,
+         expectedEnforced: false,
+       },
+       {
+         // Policy overrides default.
+         documentIsModifiable: true,
+         backgroundGraphicsPolicy:
+             print_preview.BackgroundGraphicsModeRestriction.ENABLED,
+         // Default mismatches restriction and is ignored.
+         backgroundGraphicsDefault:
+             print_preview.BackgroundGraphicsModeRestriction.DISABLED,
+         expectedValue: true,
+         expectedAvailable: true,
+         expectedManaged: true,
+         expectedEnforced: true,
+       },
+       {
+         // Default defined by policy but setting is modifiable.
+         documentIsModifiable: true,
+         backgroundGraphicsDefault:
+             print_preview.BackgroundGraphicsModeRestriction.ENABLED,
+         expectedValue: true,
+         expectedAvailable: true,
+         expectedManaged: false,
+         expectedEnforced: false,
+       }].forEach(subtestParams => {
+        model.set(
+            'documentSettings.isModifiable',
+            subtestParams.documentIsModifiable);
+        const policies = {
+          allowedBackgroundGraphicsModes:
+              subtestParams.backgroundGraphicsPolicy,
+          defaultBackgroundGraphicsMode:
+              subtestParams.backgroundGraphicsDefault,
+        };
+        model.set('destination.policies', policies);
+        model.applyDestinationSpecificPolicies();
+        assertEquals(
+            subtestParams.expectedValue,
+            model.getSettingValue('cssBackground'));
+        assertEquals(
+            subtestParams.expectedAvailable,
+            model.settings.cssBackground.available);
+        assertEquals(subtestParams.expectedManaged, model.controlsManaged);
+        assertEquals(
+            subtestParams.expectedEnforced,
+            model.settings.cssBackground.setByPolicy);
+      });
+    });
   });
 });
diff --git a/chromecast/browser/cast_extension_message_filter.cc b/chromecast/browser/cast_extension_message_filter.cc
index 2b71c6f0..26c325f 100644
--- a/chromecast/browser/cast_extension_message_filter.cc
+++ b/chromecast/browser/cast_extension_message_filter.cc
@@ -14,7 +14,6 @@
 #include "base/stl_util.h"
 #include "base/strings/utf_string_conversions.h"
 #include "base/task/post_task.h"
-#include "chromecast/common/extensions_api/cast_extension_messages.h"
 #include "content/public/browser/browser_context.h"
 #include "content/public/browser/notification_service.h"
 #include "content/public/browser/render_process_host.h"
@@ -32,7 +31,7 @@
 namespace {
 
 const uint32_t kExtensionFilteredMessageClasses[] = {
-    ChromeExtensionMsgStart, ExtensionMsgStart,
+    ExtensionMsgStart,
 };
 
 }  // namespace
diff --git a/chromecast/common/BUILD.gn b/chromecast/common/BUILD.gn
index c643929..0626991 100644
--- a/chromecast/common/BUILD.gn
+++ b/chromecast/common/BUILD.gn
@@ -51,8 +51,6 @@
       "cast_redirect_manifest_handler.h",
       "extensions_api/cast_api_permissions.cc",
       "extensions_api/cast_api_permissions.h",
-      "extensions_api/cast_extension_messages.cc",
-      "extensions_api/cast_extension_messages.h",
     ]
 
     deps += [
diff --git a/chromecast/common/extensions_api/cast_extension_messages.cc b/chromecast/common/extensions_api/cast_extension_messages.cc
deleted file mode 100644
index a696cb6..0000000
--- a/chromecast/common/extensions_api/cast_extension_messages.cc
+++ /dev/null
@@ -1,60 +0,0 @@
-// Copyright (c) 2018 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-//
-
-// Get basic type definitions.
-#define IPC_MESSAGE_IMPL
-#undef CHROMECAST_COMMON_EXTENSIONS_API_CAST_EXTENSION_MESSAGES_H_
-#include "chromecast/common/extensions_api/cast_extension_messages.h"
-#include "content/public/common/common_param_traits.h"
-#ifndef CHROMECAST_COMMON_EXTENSIONS_API_CAST_EXTENSION_MESSAGES_H_
-#error "Failed to include header chromecast/common/extensions_api/"
-"chrome_extension_messages.h"
-#endif
-
-// Generate constructors.
-#include "ipc/struct_constructor_macros.h"
-#undef CHROMECAST_COMMON_EXTENSIONS_API_CAST_EXTENSION_MESSAGES_H_
-#include "chromecast/common/extensions_api/cast_extension_messages.h"
-#include "content/public/common/common_param_traits.h"
-#ifndef CHROMECAST_COMMON_EXTENSIONS_API_CAST_EXTENSION_MESSAGES_H_
-#error "Failed to include header chromecast/common/extensions_api/"
-    "chrome_extension_messages.h"
-#endif
-
-// Generate param traits write methods.
-#include "ipc/param_traits_write_macros.h"
-    namespace IPC {
-#undef CHROMECAST_COMMON_EXTENSIONS_API_CAST_EXTENSION_MESSAGES_H_
-#include "chromecast/common/extensions_api/cast_extension_messages.h"
-#include "content/public/common/common_param_traits.h"
-#ifndef CHROMECAST_COMMON_EXTENSIONS_API_CAST_EXTENSION_MESSAGES_H_
-#error "Failed to include header chromecast/common/extensions_api/"
-  "chrome_extension_messages.h"
-#endif
-}  // namespace IPC
-
-// Generate param traits read methods.
-#include "ipc/param_traits_read_macros.h"
-namespace IPC {
-#undef CHROMECAST_COMMON_EXTENSIONS_API_CAST_EXTENSION_MESSAGES_H_
-#include "chromecast/common/extensions_api/cast_extension_messages.h"
-#include "content/public/common/common_param_traits.h"
-#ifndef CHROMECAST_COMMON_EXTENSIONS_API_CAST_EXTENSION_MESSAGES_H_
-#error "Failed to include header chromecast/common/extensions_api/"
-"chrome_extension_messages.h"
-#endif
-}  // namespace IPC
-
-// Generate param traits log methods.
-#include "ipc/param_traits_log_macros.h"
-namespace IPC {
-#undef CHROMECAST_COMMON_EXTENSIONS_API_CAST_EXTENSION_MESSAGES_H_
-#include "chromecast/common/extensions_api/cast_extension_messages.h"
-#include "content/public/common/common_param_traits.h"
-#ifndef CHROMECAST_COMMON_EXTENSIONS_API_CAST_EXTENSION_MESSAGES_H_
-#error "Failed to include header chromecast/common/extensions_api/"
-"chrome_extension_messages.h"
-#endif
-}  // namespace IPC
diff --git a/chromecast/common/extensions_api/cast_extension_messages.h b/chromecast/common/extensions_api/cast_extension_messages.h
deleted file mode 100644
index fe806b5..0000000
--- a/chromecast/common/extensions_api/cast_extension_messages.h
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef CHROMECAST_COMMON_EXTENSIONS_API_CAST_EXTENSION_MESSAGES_H_
-#define CHROMECAST_COMMON_EXTENSIONS_API_CAST_EXTENSION_MESSAGES_H_
-
-// Cast-specific IPC messages for extensions.
-// Extension-related messages that aren't specific to Chromecast live in
-// extensions/common/extension_messages.h.
-
-#include <stdint.h>
-
-#include <string>
-
-#include "base/strings/string16.h"
-#include "base/values.h"
-#include "extensions/common/api/automation_internal.h"
-#include "extensions/common/stack_frame.h"
-#include "ipc/ipc_message_macros.h"
-#include "ui/accessibility/ax_enums.mojom.h"
-#include "ui/accessibility/ax_event.h"
-#include "ui/accessibility/ax_node_data.h"
-#include "ui/accessibility/ax_relative_bounds.h"
-#include "ui/accessibility/ax_tree_data.h"
-#include "ui/accessibility/ax_tree_update.h"
-#include "ui/gfx/transform.h"
-#include "url/gurl.h"
-
-#define IPC_MESSAGE_START ChromeExtensionMsgStart
-
-// Messages sent from the browser to the renderer.
-
-#endif  // CHROMECAST_COMMON_EXTENSIONS_API_CAST_EXTENSION_MESSAGES_H_
diff --git a/chromeos/CHROMEOS_LKGM b/chromeos/CHROMEOS_LKGM
index 0efc17b8..78898cb 100644
--- a/chromeos/CHROMEOS_LKGM
+++ b/chromeos/CHROMEOS_LKGM
@@ -1 +1 @@
-12567.0.0
\ No newline at end of file
+12572.0.0
\ No newline at end of file
diff --git a/components/module_installer/android/BUILD.gn b/components/module_installer/android/BUILD.gn
index beafbe8..0bff329 100644
--- a/components/module_installer/android/BUILD.gn
+++ b/components/module_installer/android/BUILD.gn
@@ -44,6 +44,8 @@
 
 junit_binary("module_installer_junit_tests") {
   java_files = [
+    "junit/src/org/chromium/components/module_installer/builder/ModuleEngineTest.java",
+    "junit/src/org/chromium/components/module_installer/builder/ModuleTest.java",
     "junit/src/org/chromium/components/module_installer/engine/ApkEngineTest.java",
     "junit/src/org/chromium/components/module_installer/engine/SplitCompatEngineTest.java",
     "junit/src/org/chromium/components/module_installer/logger/LoggerTestUtil.java",
diff --git a/components/module_installer/android/java/src/org/chromium/components/module_installer/builder/ModuleEngine.java b/components/module_installer/android/java/src/org/chromium/components/module_installer/builder/ModuleEngine.java
index 555e1ced..2acae128 100644
--- a/components/module_installer/android/java/src/org/chromium/components/module_installer/builder/ModuleEngine.java
+++ b/components/module_installer/android/java/src/org/chromium/components/module_installer/builder/ModuleEngine.java
@@ -17,8 +17,8 @@
  * modules can be moved in and out from the base more easily.
  */
 class ModuleEngine implements InstallEngine {
-    private static InstallEngine sInstallEngine;
-    private static EngineFactory sEngineFactory;
+    private InstallEngine mInstallEngine;
+    private EngineFactory mEngineFactory;
 
     private final String mImplClassName;
 
@@ -28,7 +28,7 @@
 
     public ModuleEngine(String implClassName, EngineFactory engineFactory) {
         mImplClassName = implClassName;
-        sEngineFactory = engineFactory;
+        mEngineFactory = engineFactory;
     }
 
     @Override
@@ -58,11 +58,11 @@
         getEngine().install(moduleName, listener);
     }
 
-    private static InstallEngine getEngine() {
+    private InstallEngine getEngine() {
         // Lazily instantiate the engine - related to crbug/1010887.
-        if (sInstallEngine == null) {
-            sInstallEngine = sEngineFactory.getEngine();
+        if (mInstallEngine == null) {
+            mInstallEngine = mEngineFactory.getEngine();
         }
-        return sInstallEngine;
+        return mInstallEngine;
     }
 }
diff --git a/components/module_installer/android/junit/src/org/chromium/components/module_installer/builder/ModuleEngineTest.java b/components/module_installer/android/junit/src/org/chromium/components/module_installer/builder/ModuleEngineTest.java
new file mode 100644
index 0000000..777ec618
--- /dev/null
+++ b/components/module_installer/android/junit/src/org/chromium/components/module_installer/builder/ModuleEngineTest.java
@@ -0,0 +1,118 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package org.chromium.components.module_installer.builder;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.inOrder;
+import static org.mockito.Mockito.mock;
+
+import android.app.Activity;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.InOrder;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+import org.chromium.base.test.BaseRobolectricTestRunner;
+import org.chromium.components.module_installer.engine.EngineFactory;
+import org.chromium.components.module_installer.engine.InstallEngine;
+import org.chromium.components.module_installer.engine.InstallListener;
+
+/**
+ * Test suite for the ModuleEngine class.
+ */
+@RunWith(BaseRobolectricTestRunner.class)
+public class ModuleEngineTest {
+    @Mock
+    private InstallEngine mInstallEngineMock;
+
+    @Mock
+    private EngineFactory mEngineFactoryMock;
+
+    private ModuleEngine mModuleEngine;
+
+    private static class ModuleStub {}
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+
+        doReturn(mInstallEngineMock).when(mEngineFactoryMock).getEngine();
+
+        mModuleEngine = new ModuleEngine(ModuleStub.class.getName(), mEngineFactoryMock);
+    }
+
+    @Test
+    public void whenInitActivity_verifyActivityInitialized() {
+        // Arrange.
+        Activity activityMock = mock(Activity.class);
+        InOrder inOrder = inOrder(mInstallEngineMock);
+
+        // Act.
+        mModuleEngine.initActivity(activityMock);
+
+        // Assert.
+        inOrder.verify(mInstallEngineMock).initActivity(activityMock);
+        inOrder.verifyNoMoreInteractions();
+    }
+
+    @Test
+    public void whenVerifyingIsInstalled_VerifyTrue() {
+        // Arrange.
+        String moduleName = "any name";
+
+        // Act.
+        Boolean isInstalled = mModuleEngine.isInstalled(moduleName);
+
+        // Assert.
+        assertTrue(isInstalled);
+    }
+
+    @Test
+    public void whenVerifyingIsInstalled_VerifyFalse() {
+        // Arrange.
+        String moduleName = "any name";
+        ModuleEngine engine = new ModuleEngine("non_existent_class", mEngineFactoryMock);
+
+        // Act.
+        Boolean isInstalled = engine.isInstalled(moduleName);
+
+        // Assert.
+        assertFalse(isInstalled);
+    }
+
+    @Test
+    public void whenInstallDeferred_verifyInstalled() {
+        // Arrange.
+        String moduleName = "whenInstallDeferred_verifyInstalled";
+        InOrder inOrder = inOrder(mInstallEngineMock);
+
+        // Act.
+        mModuleEngine.installDeferred(moduleName);
+
+        // Assert.
+        inOrder.verify(mInstallEngineMock).installDeferred(moduleName);
+        inOrder.verifyNoMoreInteractions();
+    }
+
+    @Test
+    public void whenInstall_verifyInstalled() {
+        // Arrange.
+        String moduleName = "whenInstall_verifyInstalled";
+        InstallListener listenerMock = mock(InstallListener.class);
+        InOrder inOrder = inOrder(mInstallEngineMock);
+
+        // Act.
+        mModuleEngine.install(moduleName, listenerMock);
+
+        // Assert.
+        inOrder.verify(mInstallEngineMock).install(moduleName, listenerMock);
+        inOrder.verifyNoMoreInteractions();
+    }
+}
diff --git a/components/module_installer/android/junit/src/org/chromium/components/module_installer/builder/ModuleTest.java b/components/module_installer/android/junit/src/org/chromium/components/module_installer/builder/ModuleTest.java
new file mode 100644
index 0000000..241a5f89
--- /dev/null
+++ b/components/module_installer/android/junit/src/org/chromium/components/module_installer/builder/ModuleTest.java
@@ -0,0 +1,116 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package org.chromium.components.module_installer.builder;
+
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.inOrder;
+import static org.mockito.Mockito.mock;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.InOrder;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+import org.chromium.base.test.BaseRobolectricTestRunner;
+import org.chromium.components.module_installer.engine.InstallEngine;
+import org.chromium.components.module_installer.engine.InstallListener;
+
+/**
+ * Test suite for the Module class.
+ */
+@RunWith(BaseRobolectricTestRunner.class)
+public class ModuleTest {
+    @Mock
+    private InstallEngine mInstallEngineMock;
+
+    private final String mModuleName = "module_stub";
+    private final Class mInterface = ModuleTestStubInterface.class;
+    private final String mImplName = ModuleTestStub.class.getName();
+
+    private Module<ModuleTestStub> mModule;
+
+    /**
+     * This class needs to be static (for testing purposes).
+     * https://stackoverflow.com/questions/31396758/why-i-get-java-lang-instantiationexception-here
+     */
+    public static class ModuleTestStub implements ModuleTestStubInterface {}
+    private interface ModuleTestStubInterface {}
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+
+        mModule = new Module<ModuleTestStub>(mModuleName, mInterface, mImplName);
+        mModule.setInstallEngine(mInstallEngineMock);
+    }
+
+    @Test
+    public void whenVerifyingIsInstalled_VerifySequence() {
+        // Arrange.
+        InOrder inOrder = inOrder(mInstallEngineMock);
+
+        // Act.
+        mModule.isInstalled();
+
+        // Assert.
+        inOrder.verify(mInstallEngineMock).isInstalled(mModuleName);
+        inOrder.verifyNoMoreInteractions();
+    }
+
+    @Test
+    public void whenInstalling_VerifySequence() {
+        // Arrange.
+        InstallListener listenerMock = mock(InstallListener.class);
+        InOrder inOrder = inOrder(mInstallEngineMock, listenerMock);
+
+        // Act.
+        mModule.install(listenerMock);
+
+        // Assert.
+        inOrder.verify(mInstallEngineMock).install(mModuleName, listenerMock);
+        inOrder.verifyNoMoreInteractions();
+    }
+
+    @Test
+    public void whenInstallingDeferred_VerifySequence() {
+        // Arrange.
+        InOrder inOrder = inOrder(mInstallEngineMock);
+
+        // Act.
+        mModule.installDeferred();
+
+        // Assert.
+        inOrder.verify(mInstallEngineMock).installDeferred(mModuleName);
+        inOrder.verifyNoMoreInteractions();
+    }
+
+    @Test
+    public void whenGetImpl_VerifyCorrectInstance() {
+        // Arrange.
+        Class expectedType = ModuleTestStub.class;
+        doReturn(true).when(mInstallEngineMock).isInstalled(mModuleName);
+
+        // Act.
+        ModuleTestStub impl = mModule.getImpl();
+
+        // Assert.
+        assertEquals(expectedType, impl.getClass());
+    }
+
+    @Test(expected = RuntimeException.class)
+    public void whenGettingUnknownImpl_VerifyError() {
+        // Arrange.
+        String impl = "some unknown type";
+        Module<ModuleTestStub> module = new Module<ModuleTestStub>(mModuleName, mInterface, impl);
+        doReturn(true).when(mInstallEngineMock).isInstalled(mModuleName);
+        module.setInstallEngine(mInstallEngineMock);
+
+        // Act & Assert.
+        module.getImpl();
+    }
+}
diff --git a/components/password_manager/core/browser/sync/password_syncable_service_unittest.cc b/components/password_manager/core/browser/sync/password_syncable_service_unittest.cc
index 4b9310b..78d997b 100644
--- a/components/password_manager/core/browser/sync/password_syncable_service_unittest.cc
+++ b/components/password_manager/core/browser/sync/password_syncable_service_unittest.cc
@@ -17,6 +17,7 @@
 #include "base/strings/utf_string_conversions.h"
 #include "base/test/scoped_feature_list.h"
 #include "base/test/task_environment.h"
+#include "build/build_config.h"
 #include "components/password_manager/core/browser/mock_password_store.h"
 #include "components/password_manager/core/common/password_manager_features.h"
 #include "components/sync/model/sync_change_processor.h"
@@ -612,7 +613,14 @@
 }
 
 // Database cleanup fails because encryption is unavailable.
-TEST_F(PasswordSyncableServiceTest, FailedDeleteUndecryptableLogins) {
+// Flaky: crbug.com/1011193.
+#if defined(OS_WIN)
+#define MAYBE_FailedDeleteUndecryptableLogins \
+  DISABLED_FailedDeleteUndecryptableLogins
+#else
+#define MAYBE_FailedDeleteUndecryptableLogins FailedDeleteUndecryptableLogins
+#endif
+TEST_F(PasswordSyncableServiceTest, MAYBE_FailedDeleteUndecryptableLogins) {
   base::test::ScopedFeatureList scoped_feature_list;
   scoped_feature_list.InitWithFeatures(
       {features::kRecoverPasswordsForSyncUsers},
diff --git a/components/policy/resources/policy_templates.json b/components/policy/resources/policy_templates.json
index 396aa6c4..611ed08 100644
--- a/components/policy/resources/policy_templates.json
+++ b/components/policy/resources/policy_templates.json
@@ -959,10 +959,12 @@
         'PrintingAllowedColorModes',
         'PrintingAllowedDuplexModes',
         'PrintingAllowedPinModes',
+        'PrintingAllowedBackgroundGraphicsModes',
         'PrintingAllowedPageSizes',
         'PrintingColorDefault',
         'PrintingDuplexDefault',
         'PrintingPinDefault',
+        'PrintingBackgroundGraphicsDefault',
         'PrintingSizeDefault',
         'PrintingSendUsernameAndFilenameEnabled',
         'CloudPrintSubmitEnabled',
@@ -2122,6 +2124,47 @@
       'desc': '''Restricts PIN printing mode. Unset policy is treated as no restriction. If the mode is unavailable this policy is ignored. Note that PIN printing feature is enabled only for printers that use one of IPPS, USB or IPP-over-USB protocols ''',
     },
     {
+      'name': 'PrintingAllowedBackgroundGraphicsModes',
+      'owners': ['nikitapodguzov@chromium.org', 'skau@chromium.org'],
+      'type': 'string-enum',
+      'schema': {
+        'type': 'string',
+        'enum': [
+          'any',
+          'enabled',
+          'disabled',
+        ],
+      },
+      'items': [
+        {
+          'name': 'any',
+          'value': 'any',
+          'caption': '''Allow printing both with and without background graphcis''',
+        },
+        {
+          'name': 'enabled',
+          'value': 'enabled',
+          'caption': '''Allow printing only with background graphics''',
+        },
+        {
+          'name': 'disabled',
+          'value': 'disabled',
+          'caption': '''Allow printing only without background graphics''',
+        },
+      ],
+      'supported_on': ['chrome_os:79-'],
+      'features': {
+        'can_be_recommended': False,
+        'dynamic_refresh': True,
+        'per_profile': True,
+      },
+      'example_value': 'enabled',
+      'id': 621,
+      'caption': '''Restrict background graphics printing mode''',
+      'tags': [],
+      'desc': '''Restricts background graphics printing mode. Unset policy is treated as no restriction.''',
+    },
+    {
       'name': 'PrintingAllowedPageSizes',
       'owners': ['vkuzkokov@chromium.org'],
       'type': 'dict',
@@ -2268,6 +2311,41 @@
       'desc': '''Overrides default PIN printing mode. If the mode is unavailable this policy is ignored.''',
     },
     {
+      'name': 'PrintingBackgroundGraphicsDefault',
+      'owners': ['nikitapodguzov@chromium.org', 'skau@chromium.org'],
+      'type': 'string-enum',
+      'schema': {
+        'type': 'string',
+        'enum': [
+          'enabled',
+          'disabled',
+        ],
+      },
+      'items': [
+        {
+          'name': 'enabled',
+          'value': 'enabled',
+          'caption': '''Enable background graphics printing mode by default''',
+        },
+        {
+          'name': 'disabled',
+          'value': 'disabled',
+          'caption': '''Disable background graphics printing mode by default''',
+        },
+      ],
+      'supported_on': ['chrome_os:79-'],
+      'features': {
+        'can_be_recommended': False,
+        'dynamic_refresh': True,
+        'per_profile': True,
+      },
+      'example_value': 'enabled',
+      'id': 622,
+      'caption': '''Default background graphics printing mode''',
+      'tags': [],
+      'desc': '''Overrides default background graphics printing mode.''',
+    },
+    {
       'name': 'PrintingSizeDefault',
       'owners': ['vkuzkokov@chromium.org'],
       'type': 'dict',
@@ -18960,6 +19038,6 @@
   ],
   'placeholders': [],
   'deleted_policy_ids': [412, 546, 562, 569],
-  'highest_id_currently_used': 620,
+  'highest_id_currently_used': 622,
   'highest_atomic_group_id_currently_used': 37
 }
diff --git a/components/send_tab_to_self/send_tab_to_self_bridge.cc b/components/send_tab_to_self/send_tab_to_self_bridge.cc
index 6024a98..4793c19 100644
--- a/components/send_tab_to_self/send_tab_to_self_bridge.cc
+++ b/components/send_tab_to_self/send_tab_to_self_bridge.cc
@@ -740,16 +740,7 @@
       continue;
     }
 
-    // Don't include this device. Also compare the name as the device can have
-    // different cache guids (e.g. after stopping and re-starting sync).
-    // TODO(crbug.com/991943): This shouldn't be required now that
-    // IsRecentLocalCacheGuid() is used above. However, issues have been
-    // observed on Android, as if IsRecentLocalCacheGuid() didn't get populated
-    // reliably.
-    if (device->guid() == change_processor()->TrackedCacheGuid() ||
-        device->client_name() == local_device_name_) {
-      continue;
-    }
+    DCHECK_NE(device->guid(), change_processor()->TrackedCacheGuid());
 
     // Don't include devices that have disabled the send tab to self receiving
     // feature.
diff --git a/components/sync/engine/sync_encryption_handler.h b/components/sync/engine/sync_encryption_handler.h
index c8c90651..bb048d4 100644
--- a/components/sync/engine/sync_encryption_handler.h
+++ b/components/sync/engine/sync_encryption_handler.h
@@ -42,6 +42,7 @@
 // and keeps the nigori node up to date.
 // Implementations of this class must be assumed to be non-thread-safe. All
 // methods must be invoked on the sync thread.
+// TODO(crbug.com/1010397): Rename this class.
 class SyncEncryptionHandler {
  public:
   class NigoriState;
@@ -155,6 +156,8 @@
   // attempts to re-encrypt all sync data. Returns false in case of error.
   // Note: This method is expensive (it iterates through all encrypted types),
   // so should only be used sparingly (e.g. on startup).
+  // TODO(crbug.com/): Rename to something like NotifyStateToObservers() or
+  // even delete this API altogether.
   virtual bool Init() = 0;
 
   // Attempts to re-encrypt encrypted data types using the passphrase provided.
diff --git a/components/sync/nigori/nigori_sync_bridge_impl.cc b/components/sync/nigori/nigori_sync_bridge_impl.cc
index 0f7b8db6..e5d564f 100644
--- a/components/sync/nigori/nigori_sync_bridge_impl.cc
+++ b/components/sync/nigori/nigori_sync_bridge_impl.cc
@@ -559,13 +559,6 @@
   // completeness of first sync cycle (which happens before Init() call).
   // TODO(crbug.com/922900): try to avoid double notification (second one can
   // happen during UpdateLocalState() call).
-  if (state_.pending_keys.has_value()) {
-    for (auto& observer : observers_) {
-      observer.OnPassphraseRequired(REASON_DECRYPTION,
-                                    GetKeyDerivationParamsForPendingKeys(),
-                                    *state_.pending_keys);
-    }
-  }
   for (auto& observer : observers_) {
     observer.OnEncryptedTypesChanged(
         GetEncryptedTypes(state_.encrypt_everything),
@@ -575,6 +568,9 @@
     observer.OnCryptographerStateChanged(state_.cryptographer.get(),
                                          state_.pending_keys.has_value());
   }
+
+  MaybeNotifyOfPendingKeys();
+
   if (state_.passphrase_type != NigoriSpecifics::UNKNOWN) {
     // if |passphrase_type| is unknown, it is not yet initialized and we
     // shouldn't expose it.
@@ -950,36 +946,7 @@
                                          state_.pending_keys.has_value());
   }
 
-  if (!state_.pending_keys.has_value()) {
-    return base::nullopt;
-  }
-
-  switch (state_.passphrase_type) {
-    case NigoriSpecifics::UNKNOWN:
-    case NigoriSpecifics::IMPLICIT_PASSPHRASE:
-      NOTREACHED();
-      break;
-    case NigoriSpecifics::KEYSTORE_PASSPHRASE: {
-      // Update with keystore Nigori shouldn't reach this point, since it should
-      // report model error if it has pending keys.
-      NOTREACHED();
-      break;
-    }
-    case NigoriSpecifics::CUSTOM_PASSPHRASE:
-    case NigoriSpecifics::FROZEN_IMPLICIT_PASSPHRASE:
-      for (auto& observer : observers_) {
-        observer.OnPassphraseRequired(REASON_DECRYPTION,
-                                      GetKeyDerivationParamsForPendingKeys(),
-                                      *state_.pending_keys);
-      }
-      break;
-    case NigoriSpecifics::TRUSTED_VAULT_PASSPHRASE:
-      for (auto& observer : observers_) {
-        observer.OnTrustedVaultKeyRequired();
-      }
-      break;
-  }
-
+  MaybeNotifyOfPendingKeys();
   return base::nullopt;
 }
 
@@ -1205,6 +1172,32 @@
   }
 }
 
+void NigoriSyncBridgeImpl::MaybeNotifyOfPendingKeys() const {
+  if (!state_.pending_keys.has_value()) {
+    return;
+  }
+
+  switch (state_.passphrase_type) {
+    case NigoriSpecifics::UNKNOWN:
+    case NigoriSpecifics::IMPLICIT_PASSPHRASE:
+    case NigoriSpecifics::KEYSTORE_PASSPHRASE:
+      return;
+    case NigoriSpecifics::CUSTOM_PASSPHRASE:
+    case NigoriSpecifics::FROZEN_IMPLICIT_PASSPHRASE:
+      for (auto& observer : observers_) {
+        observer.OnPassphraseRequired(REASON_DECRYPTION,
+                                      GetKeyDerivationParamsForPendingKeys(),
+                                      *state_.pending_keys);
+      }
+      break;
+    case NigoriSpecifics::TRUSTED_VAULT_PASSPHRASE:
+      for (auto& observer : observers_) {
+        observer.OnTrustedVaultKeyRequired();
+      }
+      break;
+  }
+}
+
 void NigoriSyncBridgeImpl::MaybeNotifyBootstrapTokenUpdated() const {
   switch (state_.passphrase_type) {
     case NigoriSpecifics::UNKNOWN:
diff --git a/components/sync/nigori/nigori_sync_bridge_impl.h b/components/sync/nigori/nigori_sync_bridge_impl.h
index 7f05601..6523d52 100644
--- a/components/sync/nigori/nigori_sync_bridge_impl.h
+++ b/components/sync/nigori/nigori_sync_bridge_impl.h
@@ -117,6 +117,10 @@
   // |passphrase_type_| is an explicit passphrase.
   KeyDerivationParams GetKeyDerivationParamsForPendingKeys() const;
 
+  // If there are pending keys and depending on the passphrase type, it invokes
+  // the appropriate observer methods (if any).
+  void MaybeNotifyOfPendingKeys() const;
+
   // Persists Nigori derived from explicit passphrase into preferences, in case
   // error occurs during serialization/encryption, corresponding preference
   // just won't be updated.
diff --git a/components/sync/nigori/nigori_sync_bridge_impl_unittest.cc b/components/sync/nigori/nigori_sync_bridge_impl_unittest.cc
index 24782a0..cd697f3 100644
--- a/components/sync/nigori/nigori_sync_bridge_impl_unittest.cc
+++ b/components/sync/nigori/nigori_sync_bridge_impl_unittest.cc
@@ -406,12 +406,18 @@
       /*keystore_decryptor_params=*/kKeystoreKeyParams,
       /*keystore_key_params=*/kKeystoreKeyParams);
 
+  EXPECT_CALL(*observer(), OnPassphraseRequired(_, _, _)).Times(0);
+  EXPECT_CALL(*observer(), OnTrustedVaultKeyRequired()).Times(0);
+
   EXPECT_TRUE(bridge()->SetKeystoreKeys({kRawKeystoreKey}));
 
+  // The current implementation issues a redundant notification.
   EXPECT_CALL(*observer(), OnCryptographerStateChanged(
-                               NotNull(), /*has_pending_keys=*/false));
+                               NotNull(), /*has_pending_keys=*/false))
+      .Times(2);
   EXPECT_THAT(bridge()->MergeSyncData(std::move(entity_data)),
               Eq(base::nullopt));
+  EXPECT_TRUE(bridge()->Init());
   EXPECT_THAT(bridge()->GetKeystoreMigrationTime(), Not(NullTime()));
 
   const Cryptographer& cryptographer = bridge()->GetCryptographerForTesting();
@@ -571,18 +577,26 @@
   *entity_data.specifics.mutable_nigori() =
       BuildCustomPassphraseNigoriSpecifics(Pbkdf2KeyParams("passphrase"));
 
+  EXPECT_CALL(*observer(), OnTrustedVaultKeyRequired()).Times(0);
+
   ASSERT_TRUE(bridge()->SetKeystoreKeys({"keystore_key"}));
 
+  // The current implementation issues redundant notifications.
   EXPECT_CALL(*observer(), OnEncryptedTypesChanged(
                                /*encrypted_types=*/EncryptableUserTypes(),
-                               /*encrypt_everything=*/true));
-  EXPECT_CALL(*observer(), OnCryptographerStateChanged(
-                               NotNull(), /*has_pending_keys=*/true));
+                               /*encrypt_everything=*/true))
+      .Times(2);
+  EXPECT_CALL(*observer(),
+              OnCryptographerStateChanged(NotNull(), /*has_pending_keys=*/true))
+      .Times(2);
   EXPECT_CALL(*observer(),
               OnPassphraseTypeChanged(PassphraseType::kCustomPassphrase,
-                                      Not(NullTime())));
+                                      Not(NullTime())))
+      .Times(2);
+
   EXPECT_THAT(bridge()->MergeSyncData(std::move(entity_data)),
               Eq(base::nullopt));
+  EXPECT_TRUE(bridge()->Init());
   EXPECT_TRUE(bridge()->HasPendingKeysForTesting());
 }
 
@@ -768,8 +782,9 @@
       BuildCustomPassphraseNigoriSpecifics(kKeyParams);
   ASSERT_TRUE(bridge->SetKeystoreKeys({"keystore_key"}));
 
-  EXPECT_CALL(observer, OnCryptographerStateChanged(
-                            NotNull(), /*has_pending_keys=*/false));
+  EXPECT_CALL(observer,
+              OnCryptographerStateChanged(NotNull(),
+                                          /*has_pending_keys=*/false));
   EXPECT_CALL(observer, OnPassphraseRequired(_, _, _)).Times(0);
   ASSERT_THAT(bridge->MergeSyncData(std::move(entity_data)), Eq(base::nullopt));
 
@@ -857,16 +872,23 @@
   *entity_data.specifics.mutable_nigori() =
       BuildTrustedVaultNigoriSpecifics({Pbkdf2KeyParams(kTrustedVaultKey)});
 
+  EXPECT_CALL(*observer(), OnPassphraseRequired(_, _, _)).Times(0);
+
   ASSERT_TRUE(bridge()->SetKeystoreKeys({"keystore_key"}));
 
-  EXPECT_CALL(*observer(), OnCryptographerStateChanged(
-                               NotNull(), /*has_pending_keys=*/true));
+  // The current implementation issues redundant notifications.
+  EXPECT_CALL(*observer(),
+              OnCryptographerStateChanged(NotNull(), /*has_pending_keys=*/true))
+      .Times(2);
   EXPECT_CALL(*observer(),
               OnPassphraseTypeChanged(PassphraseType::kTrustedVaultPassphrase,
-                                      NullTime()));
-  EXPECT_CALL(*observer(), OnTrustedVaultKeyRequired());
+                                      NullTime()))
+      .Times(2);
+  EXPECT_CALL(*observer(), OnTrustedVaultKeyRequired()).Times(2);
+
   EXPECT_THAT(bridge()->MergeSyncData(std::move(entity_data)),
               Eq(base::nullopt));
+  EXPECT_TRUE(bridge()->Init());
   EXPECT_THAT(bridge()->GetPassphraseTypeForTesting(),
               Eq(sync_pb::NigoriSpecifics::TRUSTED_VAULT_PASSPHRASE));
   EXPECT_THAT(bridge()->GetEncryptedTypesForTesting(),
@@ -892,11 +914,14 @@
   *default_entity_data.specifics.mutable_nigori() =
       sync_pb::NigoriSpecifics::default_instance();
 
+  EXPECT_CALL(*observer(), OnPassphraseRequired(_, _, _)).Times(0);
+
   ASSERT_TRUE(bridge()->SetKeystoreKeys({"keystore_key"}));
   // Note: passing default Nigori to MergeSyncData() leads to instantiation of
   // keystore Nigori.
   ASSERT_THAT(bridge()->MergeSyncData(std::move(default_entity_data)),
               Eq(base::nullopt));
+  ASSERT_TRUE(bridge()->Init());
 
   EntityData new_entity_data;
   *new_entity_data.specifics.mutable_nigori() =
@@ -933,6 +958,8 @@
   const std::string kTrustedVaultKey = "trusted_vault_key";
   const std::string kRotatedTrustedVaultKey = "rotated_vault_key";
 
+  EXPECT_CALL(*observer(), OnPassphraseRequired(_, _, _)).Times(0);
+
   EntityData entity_data;
   *entity_data.specifics.mutable_nigori() =
       BuildTrustedVaultNigoriSpecifics({Pbkdf2KeyParams(kTrustedVaultKey)});
@@ -940,6 +967,7 @@
   ASSERT_TRUE(bridge()->SetKeystoreKeys({"keystore_key"}));
   ASSERT_THAT(bridge()->MergeSyncData(std::move(entity_data)),
               Eq(base::nullopt));
+  ASSERT_TRUE(bridge()->Init());
   ASSERT_TRUE(bridge()->HasPendingKeysForTesting());
   bridge()->AddTrustedVaultDecryptionKeys({kTrustedVaultKey});
   ASSERT_FALSE(bridge()->HasPendingKeysForTesting());
@@ -983,6 +1011,7 @@
   ASSERT_TRUE(bridge()->SetKeystoreKeys({"keystore_key"}));
   ASSERT_THAT(bridge()->MergeSyncData(std::move(entity_data)),
               Eq(base::nullopt));
+  ASSERT_TRUE(bridge()->Init());
   ASSERT_TRUE(bridge()->HasPendingKeysForTesting());
   bridge()->AddTrustedVaultDecryptionKeys({kTrustedVaultKey});
   ASSERT_FALSE(bridge()->HasPendingKeysForTesting());
diff --git a/content/browser/service_worker/service_worker_controllee_request_handler.cc b/content/browser/service_worker/service_worker_controllee_request_handler.cc
index 8c152e3c..b53df05 100644
--- a/content/browser/service_worker/service_worker_controllee_request_handler.cc
+++ b/content/browser/service_worker/service_worker_controllee_request_handler.cc
@@ -73,10 +73,18 @@
       skip_service_worker_(skip_service_worker),
       force_update_started_(false) {
   DCHECK(ServiceWorkerUtils::IsMainResourceType(resource_type));
+  TRACE_EVENT_WITH_FLOW0("ServiceWorker",
+                         "ServiceWorkerControlleeRequestHandler::"
+                         "ServiceWorkerControlleeRequestHandler",
+                         TRACE_ID_LOCAL(this), TRACE_EVENT_FLAG_FLOW_OUT);
 }
 
 ServiceWorkerControlleeRequestHandler::
     ~ServiceWorkerControlleeRequestHandler() {
+  TRACE_EVENT_WITH_FLOW0("ServiceWorker",
+                         "ServiceWorkerControlleeRequestHandler::"
+                         "~ServiceWorkerControlleeRequestHandler",
+                         TRACE_ID_LOCAL(this), TRACE_EVENT_FLAG_FLOW_IN);
   MaybeScheduleUpdate();
 }
 
@@ -139,9 +147,14 @@
   }
 #endif  // BUILDFLAG(ENABLE_OFFLINE_PAGES)
 
-  TRACE_EVENT_ASYNC_BEGIN1(
+  // TODO(bashi): Consider using a global navigation ID instead of using |this|.
+  // Using a global ID gives us a convenient way to analyze event flows across
+  // classes.
+  TRACE_EVENT_WITH_FLOW1(
       "ServiceWorker",
-      "ServiceWorkerControlleeRequestHandler::MaybeCreateLoader", this, "URL",
+      "ServiceWorkerControlleeRequestHandler::MaybeCreateLoader",
+      TRACE_ID_LOCAL(this),
+      TRACE_EVENT_FLAG_FLOW_IN | TRACE_EVENT_FLAG_FLOW_OUT, "URL",
       tentative_resource_request.url.spec());
 
   loader_callback_ = std::move(callback);
@@ -230,30 +243,36 @@
       status, base::TimeTicks::Now() - registration_lookup_start_time_);
 
   if (status != blink::ServiceWorkerStatusCode::kOk) {
-    TRACE_EVENT_ASYNC_END1(
+    TRACE_EVENT_WITH_FLOW1(
         "ServiceWorker",
-        "ServiceWorkerControlleeRequestHandler::MaybeCreateLoader", this,
-        "Status", blink::ServiceWorkerStatusToString(status));
+        "ServiceWorkerControlleeRequestHandler::ContinueWithRegistration",
+        TRACE_ID_LOCAL(this),
+        TRACE_EVENT_FLAG_FLOW_IN | TRACE_EVENT_FLAG_FLOW_OUT, "Status",
+        blink::ServiceWorkerStatusToString(status));
     CompleteWithoutLoader();
     return;
   }
   DCHECK(registration);
 
   if (!provider_host_) {
-    TRACE_EVENT_ASYNC_END1(
+    TRACE_EVENT_WITH_FLOW1(
         "ServiceWorker",
-        "ServiceWorkerControlleeRequestHandler::MaybeCreateLoader", this,
-        "Info", "No Provider");
+        "ServiceWorkerControlleeRequestHandler::ContinueWithRegistration",
+        TRACE_ID_LOCAL(this),
+        TRACE_EVENT_FLAG_FLOW_IN | TRACE_EVENT_FLAG_FLOW_OUT, "Info",
+        "No Provider");
     CompleteWithoutLoader();
     return;
   }
   provider_host_->AddMatchingRegistration(registration.get());
 
   if (!context_) {
-    TRACE_EVENT_ASYNC_END1(
+    TRACE_EVENT_WITH_FLOW1(
         "ServiceWorker",
-        "ServiceWorkerControlleeRequestHandler::MaybeCreateLoader", this,
-        "Info", "No Context");
+        "ServiceWorkerControlleeRequestHandler::ContinueWithRegistration",
+        TRACE_ID_LOCAL(this),
+        TRACE_EVENT_FLAG_FLOW_IN | TRACE_EVENT_FLAG_FLOW_OUT, "Info",
+        "No Context");
     CompleteWithoutLoader();
     return;
   }
@@ -274,10 +293,12 @@
   }
 
   if (!allow_service_worker) {
-    TRACE_EVENT_ASYNC_END1(
+    TRACE_EVENT_WITH_FLOW1(
         "ServiceWorker",
-        "ServiceWorkerControlleeRequestHandler::MaybeCreateLoader", this,
-        "Info", "ServiceWorker is blocked");
+        "ServiceWorkerControlleeRequestHandler::ContinueWithRegistration",
+        TRACE_ID_LOCAL(this),
+        TRACE_EVENT_FLAG_FLOW_IN | TRACE_EVENT_FLAG_FLOW_OUT, "Info",
+        "ServiceWorker is blocked");
     CompleteWithoutLoader();
     return;
   }
@@ -285,10 +306,12 @@
   if (!provider_host_->IsContextSecureForServiceWorker()) {
     // TODO(falken): Figure out a way to surface in the page's DevTools
     // console that the service worker was blocked for security.
-    TRACE_EVENT_ASYNC_END1(
+    TRACE_EVENT_WITH_FLOW1(
         "ServiceWorker",
-        "ServiceWorkerControlleeRequestHandler::MaybeCreateLoader", this,
-        "Info", "Insecure context");
+        "ServiceWorkerControlleeRequestHandler::ContinueWithRegistration",
+        TRACE_ID_LOCAL(this),
+        TRACE_EVENT_FLAG_FLOW_IN | TRACE_EVENT_FLAG_FLOW_OUT, "Info",
+        "Insecure context");
     CompleteWithoutLoader();
     return;
   }
@@ -303,6 +326,12 @@
         base::BindOnce(
             &ServiceWorkerControlleeRequestHandler::DidUpdateRegistration,
             weak_factory_.GetWeakPtr(), registration));
+    TRACE_EVENT_WITH_FLOW1(
+        "ServiceWorker",
+        "ServiceWorkerControlleeRequestHandler::ContinueWithRegistration",
+        TRACE_ID_LOCAL(this),
+        TRACE_EVENT_FLAG_FLOW_IN | TRACE_EVENT_FLAG_FLOW_OUT, "Info",
+        "Need to update");
     return;
   }
 
@@ -315,10 +344,12 @@
   scoped_refptr<ServiceWorkerVersion> active_version =
       registration->active_version();
   if (!active_version) {
-    TRACE_EVENT_ASYNC_END1(
+    TRACE_EVENT_WITH_FLOW1(
         "ServiceWorker",
-        "ServiceWorkerControlleeRequestHandler::MaybeCreateLoader", this,
-        "Info", "No active version, so falling back to network");
+        "ServiceWorkerControlleeRequestHandler::ContinueWithRegistration",
+        TRACE_ID_LOCAL(this),
+        TRACE_EVENT_FLAG_FLOW_IN | TRACE_EVENT_FLAG_FLOW_OUT, "Info",
+        "No active version, so falling back to network");
     CompleteWithoutLoader();
     return;
   }
@@ -331,13 +362,21 @@
     registration->active_version()->RegisterStatusChangeCallback(base::BindOnce(
         &ServiceWorkerControlleeRequestHandler::ContinueWithActivatedVersion,
         weak_factory_.GetWeakPtr(), registration, active_version));
-    TRACE_EVENT_ASYNC_END1(
+    TRACE_EVENT_WITH_FLOW1(
         "ServiceWorker",
-        "ServiceWorkerControlleeRequestHandler::MaybeCreateLoader", this,
-        "Info", "Wait until finished SW activation");
+        "ServiceWorkerControlleeRequestHandler::ContinueWithRegistration",
+        TRACE_ID_LOCAL(this),
+        TRACE_EVENT_FLAG_FLOW_IN | TRACE_EVENT_FLAG_FLOW_OUT, "Info",
+        "Wait until finished SW activation");
     return;
   }
 
+  TRACE_EVENT_WITH_FLOW0(
+      "ServiceWorker",
+      "ServiceWorkerControlleeRequestHandler::ContinueWithRegistration",
+      TRACE_ID_LOCAL(this),
+      TRACE_EVENT_FLAG_FLOW_IN | TRACE_EVENT_FLAG_FLOW_OUT);
+
   ContinueWithActivatedVersion(std::move(registration),
                                std::move(active_version));
 }
@@ -346,10 +385,11 @@
     scoped_refptr<ServiceWorkerRegistration> registration,
     scoped_refptr<ServiceWorkerVersion> active_version) {
   if (!context_ || !provider_host_) {
-    TRACE_EVENT_ASYNC_END1(
+    TRACE_EVENT_WITH_FLOW1(
         "ServiceWorker",
-        "ServiceWorkerControlleeRequestHandler::MaybeCreateLoader", this,
-        "Info",
+        "ServiceWorkerControlleeRequestHandler::ContinueWithActivatedVersion",
+        TRACE_ID_LOCAL(this),
+        TRACE_EVENT_FLAG_FLOW_IN | TRACE_EVENT_FLAG_FLOW_OUT, "Info",
         "The context or provider host is gone, so falling back to network");
     CompleteWithoutLoader();
     return;
@@ -374,10 +414,11 @@
     //      retries.
     //   3) If the provider host does not have an active version, just fail the
     //      load.
-    TRACE_EVENT_ASYNC_END2(
+    TRACE_EVENT_WITH_FLOW2(
         "ServiceWorker",
-        "ServiceWorkerControlleeRequestHandler::MaybeCreateLoader", this,
-        "Info",
+        "ServiceWorkerControlleeRequestHandler::ContinueWithActivatedVersion",
+        TRACE_ID_LOCAL(this),
+        TRACE_EVENT_FLAG_FLOW_IN | TRACE_EVENT_FLAG_FLOW_OUT, "Info",
         "The expected active version is not ACTIVATED, so falling back to "
         "network",
         "Status",
@@ -402,10 +443,12 @@
 
   if (active_version->fetch_handler_existence() !=
       ServiceWorkerVersion::FetchHandlerExistence::EXISTS) {
-    TRACE_EVENT_ASYNC_END1(
+    TRACE_EVENT_WITH_FLOW1(
         "ServiceWorker",
-        "ServiceWorkerControlleeRequestHandler::MaybeCreateLoader", this,
-        "Info", "Skipped the ServiceWorker which has no fetch handler");
+        "ServiceWorkerControlleeRequestHandler::ContinueWithActivatedVersion",
+        TRACE_ID_LOCAL(this),
+        TRACE_EVENT_FLAG_FLOW_IN | TRACE_EVENT_FLAG_FLOW_OUT, "Info",
+        "Skipped the ServiceWorker which has no fetch handler");
     CompleteWithoutLoader();
     return;
   }
@@ -417,9 +460,11 @@
           std::move(fallback_callback_), provider_host_,
           base::WrapRefCounted(context_->loader_factory_getter())));
 
-  TRACE_EVENT_ASYNC_END1(
+  TRACE_EVENT_WITH_FLOW1(
       "ServiceWorker",
-      "ServiceWorkerControlleeRequestHandler::MaybeCreateLoader", this, "Info",
+      "ServiceWorkerControlleeRequestHandler::ContinueWithActivatedVersion",
+      TRACE_ID_LOCAL(this),
+      TRACE_EVENT_FLAG_FLOW_IN | TRACE_EVENT_FLAG_FLOW_OUT, "Info",
       "Forwarded to the ServiceWorker");
   std::move(loader_callback_)
       .Run(base::BindOnce(&ServiceWorkerNavigationLoader::StartRequest,
@@ -434,10 +479,12 @@
   DCHECK(force_update_started_);
 
   if (!context_) {
-    TRACE_EVENT_ASYNC_END1(
+    TRACE_EVENT_WITH_FLOW1(
         "ServiceWorker",
-        "ServiceWorkerControlleeRequestHandler::MaybeCreateLoader", this,
-        "Info", "The context is gone in DidUpdateRegistration");
+        "ServiceWorkerControlleeRequestHandler::DidUpdateRegistration",
+        TRACE_ID_LOCAL(this),
+        TRACE_EVENT_FLAG_FLOW_IN | TRACE_EVENT_FLAG_FLOW_OUT, "Info",
+        "The context is gone in DidUpdateRegistration");
     CompleteWithoutLoader();
     return;
   }
@@ -450,8 +497,21 @@
         base::BindOnce(
             &ServiceWorkerControlleeRequestHandler::ContinueWithRegistration,
             weak_factory_.GetWeakPtr()));
+    TRACE_EVENT_WITH_FLOW1(
+        "ServiceWorker",
+        "ServiceWorkerControlleeRequestHandler::DidUpdateRegistration",
+        TRACE_ID_LOCAL(this),
+        TRACE_EVENT_FLAG_FLOW_IN | TRACE_EVENT_FLAG_FLOW_OUT, "Info",
+        "Update failed, look up the registration again");
     return;
   }
+
+  TRACE_EVENT_WITH_FLOW0(
+      "ServiceWorker",
+      "ServiceWorkerControlleeRequestHandler::DidUpdateRegistration",
+      TRACE_ID_LOCAL(this),
+      TRACE_EVENT_FLAG_FLOW_IN | TRACE_EVENT_FLAG_FLOW_OUT);
+
   DCHECK_EQ(original_registration->id(), registration_id);
   ServiceWorkerVersion* new_version =
       original_registration->installing_version();
@@ -467,13 +527,22 @@
     scoped_refptr<ServiceWorkerRegistration> registration,
     scoped_refptr<ServiceWorkerVersion> version) {
   if (!context_) {
-    TRACE_EVENT_ASYNC_END1(
+    TRACE_EVENT_WITH_FLOW1(
         "ServiceWorker",
-        "ServiceWorkerControlleeRequestHandler::MaybeCreateLoader", this,
-        "Info", "The context is gone in OnUpdatedVersionStatusChanged");
+        "ServiceWorkerControlleeRequestHandler::OnUpdatedVersionStatusChanged",
+        TRACE_ID_LOCAL(this),
+        TRACE_EVENT_FLAG_FLOW_IN | TRACE_EVENT_FLAG_FLOW_OUT, "Info",
+        "The context is gone in OnUpdatedVersionStatusChanged");
     CompleteWithoutLoader();
     return;
   }
+
+  TRACE_EVENT_WITH_FLOW0(
+      "ServiceWorker",
+      "ServiceWorkerControlleeRequestHandler::OnUpdatedVersionStatusChanged",
+      TRACE_ID_LOCAL(this),
+      TRACE_EVENT_FLAG_FLOW_IN | TRACE_EVENT_FLAG_FLOW_OUT);
+
   if (version->status() == ServiceWorkerVersion::ACTIVATED ||
       version->status() == ServiceWorkerVersion::REDUNDANT) {
     // When the status is REDUNDANT, the update failed (eg: script error), we
diff --git a/content/renderer/worker/dedicated_worker_host_factory_client.cc b/content/renderer/worker/dedicated_worker_host_factory_client.cc
index ee7b3b1..f80fe47 100644
--- a/content/renderer/worker/dedicated_worker_host_factory_client.cc
+++ b/content/renderer/worker/dedicated_worker_host_factory_client.cc
@@ -51,22 +51,20 @@
     const blink::WebSecurityOrigin& script_origin,
     network::mojom::CredentialsMode credentials_mode,
     const blink::WebSecurityOrigin& fetch_client_security_origin,
-    network::mojom::ReferrerPolicy fetch_client_referrer_policy,
-    const blink::WebURL& fetch_client_outgoing_referrer,
-    const blink::WebInsecureRequestPolicy fetch_client_insecure_request_policy,
+    const blink::WebFetchClientSettingsObject& fetch_client_settings_object,
     mojo::ScopedMessagePipeHandle blob_url_token) {
   DCHECK(base::FeatureList::IsEnabled(blink::features::kPlzDedicatedWorker));
 
+  // TODO(bashi): Create a helper function that converts
+  // WebFetchClientSettingsObject to mojom::FetchClientSettingsObject.
   auto outside_fetch_client_settings_object =
       blink::mojom::FetchClientSettingsObject::New();
   outside_fetch_client_settings_object->referrer_policy =
-      fetch_client_referrer_policy;
+      fetch_client_settings_object.referrer_policy;
   outside_fetch_client_settings_object->outgoing_referrer =
-      fetch_client_outgoing_referrer;
+      fetch_client_settings_object.outgoing_referrer;
   outside_fetch_client_settings_object->insecure_requests_policy =
-      fetch_client_insecure_request_policy & blink::kUpgradeInsecureRequests
-          ? blink::mojom::InsecureRequestsPolicy::kUpgrade
-          : blink::mojom::InsecureRequestsPolicy::kDoNotUpgrade;
+      fetch_client_settings_object.insecure_requests_policy;
 
   factory_->CreateWorkerHostAndStartScriptLoad(
       script_url, script_origin, credentials_mode,
diff --git a/content/renderer/worker/dedicated_worker_host_factory_client.h b/content/renderer/worker/dedicated_worker_host_factory_client.h
index d47c545..3a5d1c0 100644
--- a/content/renderer/worker/dedicated_worker_host_factory_client.h
+++ b/content/renderer/worker/dedicated_worker_host_factory_client.h
@@ -49,10 +49,7 @@
       const blink::WebSecurityOrigin& script_origin,
       network::mojom::CredentialsMode credentials_mode,
       const blink::WebSecurityOrigin& fetch_client_security_origin,
-      network::mojom::ReferrerPolicy fetch_client_referrer_policy,
-      const blink::WebURL& fetch_client_outgoing_referrer,
-      const blink::WebInsecureRequestPolicy
-          fetch_client_insecure_request_policy,
+      const blink::WebFetchClientSettingsObject& fetch_client_settings_object,
       mojo::ScopedMessagePipeHandle blob_url_token) override;
   scoped_refptr<blink::WebWorkerFetchContext> CloneWorkerFetchContext(
       blink::WebWorkerFetchContext* web_worker_fetch_context,
diff --git a/extensions/browser/api/execute_code_function.cc b/extensions/browser/api/execute_code_function.cc
index 002b4997..c85a1a09e 100644
--- a/extensions/browser/api/execute_code_function.cc
+++ b/extensions/browser/api/execute_code_function.cc
@@ -167,7 +167,7 @@
 
   executor->ExecuteScript(
       host_id_, script_type, code_string, frame_scope, frame_id,
-      match_about_blank, run_at, ScriptExecutor::ISOLATED_WORLD,
+      match_about_blank, run_at,
       IsWebView() ? ScriptExecutor::WEB_VIEW_PROCESS
                   : ScriptExecutor::DEFAULT_PROCESS,
       GetWebViewSrc(), file_url_, user_gesture(), css_origin,
diff --git a/extensions/browser/script_executor.cc b/extensions/browser/script_executor.cc
index c0b7f5c6..07e5ac4 100644
--- a/extensions/browser/script_executor.cc
+++ b/extensions/browser/script_executor.cc
@@ -242,7 +242,6 @@
                                    int frame_id,
                                    ScriptExecutor::MatchAboutBlank about_blank,
                                    UserScript::RunLocation run_at,
-                                   ScriptExecutor::WorldType world_type,
                                    ScriptExecutor::ProcessType process_type,
                                    const GURL& webview_src,
                                    const GURL& file_url,
@@ -268,7 +267,6 @@
   params.code = code;
   params.match_about_blank = (about_blank == MATCH_ABOUT_BLANK);
   params.run_at = run_at;
-  params.in_main_world = (world_type == MAIN_WORLD);
   params.is_web_view = (process_type == WEB_VIEW_PROCESS);
   params.webview_src = webview_src;
   params.file_url = file_url;
diff --git a/extensions/browser/script_executor.h b/extensions/browser/script_executor.h
index 0e5b2407..e19e905d 100644
--- a/extensions/browser/script_executor.h
+++ b/extensions/browser/script_executor.h
@@ -65,12 +65,6 @@
     MATCH_ABOUT_BLANK,
   };
 
-  // The type of world to inject into (main world, or its own isolated world).
-  enum WorldType {
-    MAIN_WORLD,
-    ISOLATED_WORLD,
-  };
-
   // The type of process the target is.
   enum ProcessType {
     DEFAULT_PROCESS,
@@ -106,7 +100,6 @@
                      int frame_id,
                      MatchAboutBlank match_about_blank,
                      UserScript::RunLocation run_at,
-                     WorldType world_type,
                      ProcessType process_type,
                      const GURL& webview_src,
                      const GURL& file_url,
diff --git a/extensions/common/extension_messages.h b/extensions/common/extension_messages.h
index 48ac3c93..179dc23 100644
--- a/extensions/common/extension_messages.h
+++ b/extensions/common/extension_messages.h
@@ -171,10 +171,6 @@
   // When to inject the code.
   IPC_STRUCT_MEMBER(extensions::UserScript::RunLocation, run_at)
 
-  // Whether to execute code in the main world (as opposed to an isolated
-  // world).
-  IPC_STRUCT_MEMBER(bool, in_main_world)
-
   // Whether the request is coming from a <webview>.
   IPC_STRUCT_MEMBER(bool, is_web_view)
 
diff --git a/extensions/renderer/programmatic_script_injector.cc b/extensions/renderer/programmatic_script_injector.cc
index 928c29e..3f73988 100644
--- a/extensions/renderer/programmatic_script_injector.cc
+++ b/extensions/renderer/programmatic_script_injector.cc
@@ -39,10 +39,6 @@
   return UserScript::PROGRAMMATIC_SCRIPT;
 }
 
-bool ProgrammaticScriptInjector::ShouldExecuteInMainWorld() const {
-  return params_->in_main_world;
-}
-
 bool ProgrammaticScriptInjector::IsUserGesture() const {
   return params_->user_gesture;
 }
diff --git a/extensions/renderer/programmatic_script_injector.h b/extensions/renderer/programmatic_script_injector.h
index 4820992c..e29bba16 100644
--- a/extensions/renderer/programmatic_script_injector.h
+++ b/extensions/renderer/programmatic_script_injector.h
@@ -30,7 +30,6 @@
  private:
   // ScriptInjector implementation.
   UserScript::InjectionType script_type() const override;
-  bool ShouldExecuteInMainWorld() const override;
   bool IsUserGesture() const override;
   base::Optional<CSSOrigin> GetCssOrigin() const override;
   const base::Optional<std::string> GetInjectionKey() const override;
diff --git a/extensions/renderer/script_injection.cc b/extensions/renderer/script_injection.cc
index 5b36db9..b8c2905 100644
--- a/extensions/renderer/script_injection.cc
+++ b/extensions/renderer/script_injection.cc
@@ -288,11 +288,8 @@
   std::vector<blink::WebScriptSource> sources = injector_->GetJsSources(
       run_location_, executing_scripts, num_injected_js_scripts);
   DCHECK(!sources.empty());
-  bool in_main_world = injector_->ShouldExecuteInMainWorld();
-  int world_id = in_main_world
-                     ? DOMActivityLogger::kMainWorldId
-                     : GetIsolatedWorldIdForInstance(injection_host_.get(),
-                                                     web_frame);
+  int world_id =
+      GetIsolatedWorldIdForInstance(injection_host_.get(), web_frame);
   bool is_user_gesture = injector_->IsUserGesture();
 
   std::unique_ptr<blink::WebScriptExecutionCallback> callback(
@@ -301,31 +298,24 @@
   base::ElapsedTimer exec_timer;
   if (injection_host_->id().type() == HostID::EXTENSIONS && log_activity_)
     DOMActivityLogger::AttachToWorld(world_id, injection_host_->id().id());
-  if (in_main_world) {
-    // We only inject in the main world for javascript: urls.
-    DCHECK_EQ(1u, sources.size());
 
-    web_frame->RequestExecuteScriptAndReturnValue(
-        sources.front(), is_user_gesture, callback.release());
-  } else {
-    blink::WebLocalFrame::ScriptExecutionType option;
-    if (injector_->script_type() == UserScript::CONTENT_SCRIPT) {
-      switch (run_location_) {
-        case UserScript::DOCUMENT_END:
-        case UserScript::DOCUMENT_IDLE:
-          option = blink::WebLocalFrame::kAsynchronousBlockingOnload;
-          break;
-        default:
-          option = blink::WebLocalFrame::kSynchronous;
-          break;
-      }
-    } else {
-      option = blink::WebLocalFrame::kSynchronous;
+  blink::WebLocalFrame::ScriptExecutionType option;
+  if (injector_->script_type() == UserScript::CONTENT_SCRIPT) {
+    switch (run_location_) {
+      case UserScript::DOCUMENT_END:
+      case UserScript::DOCUMENT_IDLE:
+        option = blink::WebLocalFrame::kAsynchronousBlockingOnload;
+        break;
+      default:
+        option = blink::WebLocalFrame::kSynchronous;
+        break;
     }
-    web_frame->RequestExecuteScriptInIsolatedWorld(
-        world_id, &sources.front(), sources.size(), is_user_gesture, option,
-        callback.release());
+  } else {
+    option = blink::WebLocalFrame::kSynchronous;
   }
+  web_frame->RequestExecuteScriptInIsolatedWorld(
+      world_id, &sources.front(), sources.size(), is_user_gesture, option,
+      callback.release());
 }
 
 void ScriptInjection::OnJsInjectionCompleted(
diff --git a/extensions/renderer/script_injector.h b/extensions/renderer/script_injector.h
index f79f1407..af2f8957 100644
--- a/extensions/renderer/script_injector.h
+++ b/extensions/renderer/script_injector.h
@@ -22,8 +22,8 @@
 namespace extensions {
 
 // The pseudo-delegate class for a ScriptInjection that provides all necessary
-// information about how to inject the script, including what code to inject,
-// when (run location), and where (world), but without any injection logic.
+// information about how to inject the script, including what code to inject and
+// when (run location), but without any injection logic.
 class ScriptInjector {
  public:
   // The possible reasons for not injecting the script.
@@ -39,9 +39,6 @@
   // Returns the script type of this particular injection.
   virtual UserScript::InjectionType script_type() const = 0;
 
-  // Returns true if the script should execute in the main world.
-  virtual bool ShouldExecuteInMainWorld() const = 0;
-
   // Returns true if the script is running inside a user gesture.
   virtual bool IsUserGesture() const = 0;
 
diff --git a/extensions/renderer/user_script_injector.cc b/extensions/renderer/user_script_injector.cc
index 7b9618c..3a9adf4 100644
--- a/extensions/renderer/user_script_injector.cc
+++ b/extensions/renderer/user_script_injector.cc
@@ -133,10 +133,6 @@
   return UserScript::CONTENT_SCRIPT;
 }
 
-bool UserScriptInjector::ShouldExecuteInMainWorld() const {
-  return false;
-}
-
 bool UserScriptInjector::IsUserGesture() const {
   return false;
 }
diff --git a/extensions/renderer/user_script_injector.h b/extensions/renderer/user_script_injector.h
index 8705d58..5ff1dcf 100644
--- a/extensions/renderer/user_script_injector.h
+++ b/extensions/renderer/user_script_injector.h
@@ -38,7 +38,6 @@
 
   // ScriptInjector implementation.
   UserScript::InjectionType script_type() const override;
-  bool ShouldExecuteInMainWorld() const override;
   bool IsUserGesture() const override;
   base::Optional<CSSOrigin> GetCssOrigin() const override;
   const base::Optional<std::string> GetInjectionKey() const override;
diff --git a/ios/chrome/browser/metrics/tab_usage_recorder_egtest.mm b/ios/chrome/browser/metrics/tab_usage_recorder_egtest.mm
index 5a74d58..c5c99424 100644
--- a/ios/chrome/browser/metrics/tab_usage_recorder_egtest.mm
+++ b/ios/chrome/browser/metrics/tab_usage_recorder_egtest.mm
@@ -409,7 +409,8 @@
 
 // Test that the USER_DID_NOT_WAIT metric is logged when the user opens an NTP
 // while the evicted tab is still reloading.
-- (void)testEvictedTabReloadSwitchToNTP {
+// TODO(crbug.com/1011336) This test is flaky.
+- (void)DISABLED_testEvictedTabReloadSwitchToNTP {
   std::map<GURL, std::string> responses;
   const GURL slowURL = web::test::HttpServer::MakeUrl("http://slow");
   responses[slowURL] = "Slow Page";
@@ -488,7 +489,8 @@
 
 // Tests that leaving Chrome while an evicted tab is reloading triggers the
 // recording of the USER_LEFT_CHROME metric.
-- (void)testEvictedTabReloadBackgrounded {
+// TODO(crbug.com/1011336) This test is flaky.
+- (void)DISABLED_testEvictedTabReloadBackgrounded {
   std::map<GURL, std::string> responses;
   const GURL slowURL = web::test::HttpServer::MakeUrl("http://slow");
   responses[slowURL] = "Slow Page";
diff --git a/ios/chrome/browser/ui/reading_list/reading_list_table_view_controller.mm b/ios/chrome/browser/ui/reading_list/reading_list_table_view_controller.mm
index 50815251..82c5ab35 100644
--- a/ios/chrome/browser/ui/reading_list/reading_list_table_view_controller.mm
+++ b/ios/chrome/browser/ui/reading_list/reading_list_table_view_controller.mm
@@ -83,6 +83,7 @@
 // Whether the table view is being edited by the swipe-to-delete button.
 @property(nonatomic, readonly, getter=isEditingWithSwipe) BOOL editingWithSwipe;
 // Whether to remove empty sections after editing is reset to NO.
+// TODO (crbug.com/1010836): remove when dropping iOS 12.
 @property(nonatomic, assign) BOOL needsSectionCleanupAfterEditing;
 
 @end
@@ -138,6 +139,7 @@
   if (!editing) {
     self.editingWithToolbarButtons = NO;
     if (self.needsSectionCleanupAfterEditing) {
+      [self removeEmptySections];
       self.needsSectionCleanupAfterEditing = NO;
     }
   }
@@ -241,15 +243,22 @@
      forRowAtIndexPath:(NSIndexPath*)indexPath {
   DCHECK_EQ(editingStyle, UITableViewCellEditingStyleDelete);
   base::RecordAction(base::UserMetricsAction("MobileReadingListDeleteEntry"));
-  // The UIKit animation for the swipe-to-delete gesture throws an exception if
-  // the section of the deleted item is removed before the animation is
-  // finished.  To prevent this from happening, record that cleanup is needed
-  // and remove the section when self.tableView.editing is reset to NO when the
-  // animation finishes.
-  self.needsSectionCleanupAfterEditing = YES;
-  [self deleteItemsAtIndexPaths:@[ indexPath ]
-                     endEditing:NO
-            removeEmptySections:NO];
+
+  if (@available(iOS 13, *)) {
+    [self deleteItemsAtIndexPaths:@[ indexPath ]
+                       endEditing:YES
+              removeEmptySections:YES];
+  } else {
+    // On IOS 12, the UIKit animation for the swipe-to-delete gesture throws an
+    // exception if the section of the deleted item is removed before the
+    // animation is finished. To prevent this from happening, record that
+    // cleanup is needed and remove the section when self.tableView.editing is
+    // reset to NO when the animation finishes.
+    self.needsSectionCleanupAfterEditing = YES;
+    [self deleteItemsAtIndexPaths:@[ indexPath ]
+                       endEditing:NO
+              removeEmptySections:NO];
+  }
 }
 
 #pragma mark - UITableViewDelegate
diff --git a/ipc/ipc_message_start.h b/ipc/ipc_message_start.h
index 9fa28c6..83460bdd 100644
--- a/ipc/ipc_message_start.h
+++ b/ipc/ipc_message_start.h
@@ -42,7 +42,6 @@
   NaClHostMsgStart,
   EncryptedMediaMsgStart,
   CastMsgStart,
-  ChromeExtensionMsgStart,
   GinJavaBridgeMsgStart,
   ChromeUtilityPrintingMsgStart,
   OzoneGpuMsgStart,
diff --git a/media/gpu/v4l2/v4l2_device.cc b/media/gpu/v4l2/v4l2_device.cc
index 4f109d2..ca41cf3 100644
--- a/media/gpu/v4l2/v4l2_device.cc
+++ b/media/gpu/v4l2/v4l2_device.cc
@@ -269,6 +269,9 @@
   void* GetPlaneMapping(const size_t plane);
 
   scoped_refptr<VideoFrame> GetVideoFrame();
+  // Checks that the number of passed FDs is adequate for the current format
+  // and buffer configuration. Only useful for DMABUF buffers.
+  bool CheckNumFDsForFormat(const size_t num_fds) const;
 
   // Data from the buffer, that users can query and/or write.
   struct v4l2_buffer v4l2_buffer_;
@@ -350,6 +353,40 @@
   return queue_->buffers_[BufferId()]->GetVideoFrame();
 }
 
+bool V4L2BufferRefBase::CheckNumFDsForFormat(const size_t num_fds) const {
+  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+
+  if (!queue_)
+    return false;
+
+  // We have not used SetFormat(), assume this is ok.
+  // Hopefully we standardize SetFormat() in the future.
+  if (!queue_->current_format_)
+    return true;
+
+  const size_t required_fds = queue_->current_format_->fmt.pix_mp.num_planes;
+  // Sanity check.
+  DCHECK_EQ(v4l2_buffer_.length, required_fds);
+  if (num_fds < required_fds) {
+    VLOGF(1) << "Insufficient number of FDs given for the current format. "
+             << num_fds << " provided, " << required_fds << " required.";
+    return false;
+  }
+
+  const auto& planes = v4l2_buffer_.m.planes;
+  for (size_t i = v4l2_buffer_.length - 1; i >= num_fds; --i) {
+    // Assume that an fd is a duplicate of a previous plane's fd if offset != 0.
+    // Otherwise, if offset == 0, return error as it is likely pointing to
+    // a new plane.
+    if (planes[i].data_offset == 0) {
+      VLOGF(1) << "Additional dmabuf fds point to a new buffer.";
+      return false;
+    }
+  }
+
+  return true;
+}
+
 V4L2WritableBufferRef::V4L2WritableBufferRef() {
   // Invalid buffers can be created from any thread.
   DETACH_FROM_SEQUENCE(sequence_checker_);
@@ -473,12 +510,10 @@
     return false;
   }
 
-  size_t num_planes = self.PlanesCount();
-  // TODO(hiroh): Strengthen this check with v4l2 pixel format.
-  if (fds.size() < num_planes) {
-    VLOGF(1) << "The given number of fds is less than required one";
+  if (!self.buffer_data_->CheckNumFDsForFormat(fds.size()))
     return false;
-  }
+
+  size_t num_planes = self.PlanesCount();
   for (size_t i = 0; i < num_planes; i++)
     self.buffer_data_->v4l2_buffer_.m.planes[i].m.fd = fds[i].get();
 
@@ -498,12 +533,10 @@
     return false;
   }
 
-  size_t num_planes = self.PlanesCount();
-  // TODO(hiroh): Strengthen this check with v4l2 pixel format.
-  if (planes.size() < num_planes) {
-    VLOGF(1) << "The given number of fds is less than required one";
+  if (!self.buffer_data_->CheckNumFDsForFormat(planes.size()))
     return false;
-  }
+
+  size_t num_planes = self.PlanesCount();
   for (size_t i = 0; i < num_planes; i++)
     self.buffer_data_->v4l2_buffer_.m.planes[i].m.fd = planes[i].fd.get();
 
@@ -758,6 +791,27 @@
   std::move(destroy_cb_).Run();
 }
 
+base::Optional<struct v4l2_format> V4L2Queue::SetFormat(uint32_t fourcc,
+                                                        const gfx::Size& size,
+                                                        size_t buffer_size) {
+  struct v4l2_format format = {};
+  format.type = type_;
+  format.fmt.pix_mp.pixelformat = fourcc;
+  format.fmt.pix_mp.width = size.width();
+  format.fmt.pix_mp.height = size.height();
+  format.fmt.pix_mp.num_planes = V4L2Device::GetNumPlanesOfV4L2PixFmt(fourcc);
+  format.fmt.pix_mp.plane_fmt[0].sizeimage = buffer_size;
+  if (device_->Ioctl(VIDIOC_S_FMT, &format) != 0 ||
+      format.fmt.pix_mp.pixelformat != fourcc) {
+    VPLOGF(2) << "Failed to set format on queue " << type_
+              << ". format_fourcc=0x" << std::hex << fourcc;
+    return base::nullopt;
+  }
+
+  current_format_ = format;
+  return current_format_;
+}
+
 size_t V4L2Queue::AllocateBuffers(size_t count, enum v4l2_memory memory) {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
   DCHECK(!free_buffers_);
diff --git a/media/gpu/v4l2/v4l2_device.h b/media/gpu/v4l2/v4l2_device.h
index 3c6da09d..be705bc 100644
--- a/media/gpu/v4l2/v4l2_device.h
+++ b/media/gpu/v4l2/v4l2_device.h
@@ -257,6 +257,21 @@
 class MEDIA_GPU_EXPORT V4L2Queue
     : public base::RefCountedThreadSafe<V4L2Queue> {
  public:
+  // Set |fourcc| as the current format on this queue. |size| corresponds to the
+  // desired buffer's dimensions (i.e. width and height members of
+  // v4l2_pix_format_mplane (if not applicable, pass gfx::Size()).
+  // |buffer_size| is the desired size in bytes of the buffer for single-planar
+  // formats (i.e. sizeimage of the first plane). It can be set to 0 if not
+  // relevant for the desired format.
+  // If the format could be set, then the |v4l2_format| reflecting the actual
+  // format is returned. It is guaranteed to feature the specified |fourcc|,
+  // but any other parameter (including |size| and |buffer_size| may have been
+  // adjusted by the driver, so the caller must check their values.
+  base::Optional<struct v4l2_format> SetFormat(uint32_t fourcc,
+                                               const gfx::Size& size,
+                                               size_t buffer_size)
+      WARN_UNUSED_RESULT;
+
   // Allocate |count| buffers for the current format of this queue, with a
   // specific |memory| allocation, and returns the number of buffers allocated
   // or zero if an error occurred, or if references to any previously allocated
@@ -333,6 +348,8 @@
   enum v4l2_memory memory_ = V4L2_MEMORY_MMAP;
   bool is_streaming_ = false;
   size_t planes_count_ = 0;
+  // Current format as set by SetFormat.
+  base::Optional<struct v4l2_format> current_format_;
 
   std::vector<std::unique_ptr<V4L2Buffer>> buffers_;
 
diff --git a/media/gpu/v4l2/v4l2_slice_video_decoder.cc b/media/gpu/v4l2/v4l2_slice_video_decoder.cc
index 390b830f..032450e 100644
--- a/media/gpu/v4l2/v4l2_slice_video_decoder.cc
+++ b/media/gpu/v4l2/v4l2_slice_video_decoder.cc
@@ -38,7 +38,6 @@
 // Input bitstream buffer size for up to 4k streams.
 constexpr size_t kInputBufferMaxSizeFor4k = 4 * kInputBufferMaxSizeFor1080p;
 constexpr size_t kNumInputBuffers = 16;
-constexpr size_t kNumInputPlanes = 1;
 
 // Size of the timestamp cache, needs to be large enough for frame-reordering.
 constexpr size_t kTimestampCacheSize = 128;
@@ -50,31 +49,6 @@
     V4L2_PIX_FMT_VP9_FRAME,
 };
 
-// Checks an underlying video frame buffer of |frame| is valid for VIDIOC_DQBUF
-// that requires |target_num_fds| fds.
-bool IsValidFrameForQueueDMABuf(const VideoFrame* frame,
-                                size_t target_num_fds) {
-  DCHECK(frame);
-  if (frame->DmabufFds().size() < target_num_fds) {
-    VLOGF(1) << "The count of dmabuf fds (" << frame->DmabufFds().size()
-             << ") are not enough, needs " << target_num_fds << " fds.";
-    return false;
-  }
-
-  const auto& planes = frame->layout().planes();
-  for (size_t i = frame->DmabufFds().size() - 1; i >= target_num_fds; --i) {
-    // Assume that an fd is a duplicate of a previous plane's fd if offset != 0.
-    // Otherwise, if offset == 0, return error as surface_it may be pointing to
-    // a new plane.
-    if (planes[i].offset == 0) {
-      VLOGF(1) << "Additional dmabuf fds point to a new buffer.";
-      return false;
-    }
-  }
-
-  return true;
-}
-
 }  // namespace
 
 V4L2SliceVideoDecoder::DecodeRequest::DecodeRequest(
@@ -395,6 +369,16 @@
   needs_bitstream_conversion_ = (config.codec() == kCodecH264);
   pixel_aspect_ratio_ = config.GetPixelAspectRatio();
 
+  // Create Input/Output V4L2Queue
+  input_queue_ = device_->GetQueue(V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE);
+  output_queue_ = device_->GetQueue(V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE);
+  if (!input_queue_ || !output_queue_) {
+    VLOGF(1) << "Failed to create V4L2 queue.";
+    client_task_runner_->PostTask(FROM_HERE,
+                                  base::BindOnce(std::move(init_cb), false));
+    return;
+  }
+
   // Setup input format.
   if (!SetupInputFormat(input_format_fourcc)) {
     VLOGF(1) << "Failed to setup input format.";
@@ -403,6 +387,13 @@
     return;
   }
 
+  if (!SetCodedSizeOnInputQueue(config.coded_size())) {
+    VLOGF(1) << "Failed to set coded size on input queue";
+    client_task_runner_->PostTask(FROM_HERE,
+                                  base::BindOnce(std::move(init_cb), false));
+    return;
+  }
+
   // Setup output format.
   if (!SetupOutputFormat(config.coded_size(), config.visible_rect())) {
     VLOGF(1) << "Failed to setup output format.";
@@ -411,15 +402,6 @@
     return;
   }
 
-  // Create Input/Output V4L2Queue
-  input_queue_ = device_->GetQueue(V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE);
-  output_queue_ = device_->GetQueue(V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE);
-  if (!input_queue_ || !output_queue_) {
-    VLOGF(1) << "Failed to create V4L2 queue.";
-    client_task_runner_->PostTask(FROM_HERE,
-                                  base::BindOnce(std::move(init_cb), false));
-    return;
-  }
   if (input_queue_->AllocateBuffers(kNumInputBuffers, V4L2_MEMORY_MMAP) == 0) {
     VLOGF(1) << "Failed to allocate input buffer.";
     client_task_runner_->PostTask(FROM_HERE,
@@ -518,39 +500,36 @@
                           : kInputBufferMaxSizeFor1080p;
 
   // Setup the input format.
-  struct v4l2_format format;
-  memset(&format, 0, sizeof(format));
-  format.type = V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE;
-  format.fmt.pix_mp.pixelformat = input_format_fourcc;
-  format.fmt.pix_mp.plane_fmt[0].sizeimage = input_size;
-  format.fmt.pix_mp.num_planes = kNumInputPlanes;
-  if (device_->Ioctl(VIDIOC_S_FMT, &format) != 0) {
+  auto format =
+      input_queue_->SetFormat(input_format_fourcc, gfx::Size(), input_size);
+  if (!format) {
     VPLOGF(1) << "Failed to call IOCTL to set input format.";
     return false;
   }
-  DCHECK_EQ(format.fmt.pix_mp.pixelformat, input_format_fourcc);
+  DCHECK_EQ(format->fmt.pix_mp.pixelformat, input_format_fourcc);
 
   return true;
 }
 
-base::Optional<struct v4l2_format>
-V4L2SliceVideoDecoder::SetV4L2FormatOnOutputQueue(uint32_t format_fourcc,
-                                                  const gfx::Size& size) {
-  DCHECK_CALLED_ON_VALID_SEQUENCE(decoder_sequence_checker_);
-
+bool V4L2SliceVideoDecoder::SetCodedSizeOnInputQueue(
+    const gfx::Size& coded_size) {
   struct v4l2_format format = {};
-  format.type = V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE;
-  format.fmt.pix_mp.pixelformat = format_fourcc;
-  format.fmt.pix_mp.width = size.width();
-  format.fmt.pix_mp.height = size.height();
-  format.fmt.pix_mp.num_planes =
-      V4L2Device::GetNumPlanesOfV4L2PixFmt(format_fourcc);
-  if (device_->Ioctl(VIDIOC_S_FMT, &format) != 0 ||
-      format.fmt.pix_mp.pixelformat != format_fourcc) {
-    VPLOGF(2) << "Failed to set output format. format_fourcc=" << format_fourcc;
-    return base::nullopt;
+
+  format.type = V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE;
+  if (device_->Ioctl(VIDIOC_G_FMT, &format) != 0) {
+    VPLOGF(1) << "Failed getting OUTPUT format";
+    return false;
   }
-  return format;
+
+  format.fmt.pix_mp.width = coded_size.width();
+  format.fmt.pix_mp.height = coded_size.height();
+
+  if (device_->Ioctl(VIDIOC_S_FMT, &format) != 0) {
+    VPLOGF(1) << "Failed setting OUTPUT format";
+    return false;
+  }
+
+  return true;
 }
 
 base::Optional<VideoFrameLayout> V4L2SliceVideoDecoder::SetupOutputFormat(
@@ -566,12 +545,12 @@
       continue;
 
     base::Optional<struct v4l2_format> format =
-        SetV4L2FormatOnOutputQueue(format_fourcc, size);
+        output_queue_->SetFormat(format_fourcc, size, 0);
     if (!format)
       continue;
 
-    // S_FMT is successful. Next make sure VFPool can allocate video frames with
-    // width and height adjusted by a video driver.
+    // SetFormat is successful. Next make sure VFPool can allocate video frames
+    // with width and height adjusted by a video driver.
     gfx::Size adjusted_size(format->fmt.pix_mp.width,
                             format->fmt.pix_mp.height);
 
@@ -585,7 +564,6 @@
         continue;
       }
 
-      num_output_planes_ = format->fmt.pix_mp.num_planes;
       return frame_layout;
     }
   }
@@ -682,24 +660,29 @@
   decoder_task_runner_->PostTask(
       FROM_HERE,
       base::BindOnce(&V4L2SliceVideoDecoder::EnqueueDecodeTask, weak_this_,
-                     DecodeRequest(std::move(buffer), std::move(decode_cb),
-                                   GetNextBitstreamId())));
+                     std::move(buffer), std::move(decode_cb)));
 }
 
-void V4L2SliceVideoDecoder::EnqueueDecodeTask(DecodeRequest request) {
+void V4L2SliceVideoDecoder::EnqueueDecodeTask(
+    scoped_refptr<DecoderBuffer> buffer,
+    V4L2SliceVideoDecoder::DecodeCB decode_cb) {
   DCHECK_CALLED_ON_VALID_SEQUENCE(decoder_sequence_checker_);
   DCHECK_NE(state_, State::kUninitialized);
 
   if (state_ == State::kError) {
-    std::move(request.decode_cb).Run(DecodeStatus::DECODE_ERROR);
+    std::move(decode_cb).Run(DecodeStatus::DECODE_ERROR);
     return;
   }
 
-  if (!request.buffer->end_of_stream()) {
-    bitstream_id_to_timestamp_.Put(request.bitstream_id,
-                                   request.buffer->timestamp());
+  const int32_t bitstream_id = bitstream_id_generator_.GetNextBitstreamId();
+
+  if (!buffer->end_of_stream()) {
+    bitstream_id_to_timestamp_.Put(bitstream_id, buffer->timestamp());
   }
-  decode_request_queue_.push(std::move(request));
+
+  decode_request_queue_.push(
+      DecodeRequest(std::move(buffer), std::move(decode_cb), bitstream_id));
+
   // If we are already decoding, then we don't need to pump again.
   if (!current_decode_request_)
     PumpDecodeTask();
@@ -854,6 +837,12 @@
   DCHECK(!pic_size.IsEmpty());
   DVLOGF(3) << "Change resolution to " << pic_size.width() << "x"
             << pic_size.height();
+
+  if (!SetCodedSizeOnInputQueue(pic_size)) {
+    VLOGF(1) << "Failed to set coded size on input queue";
+    return false;
+  }
+
   auto frame_layout = SetupOutputFormat(pic_size, avd_->GetVisibleRect());
   if (!frame_layout) {
     VLOGF(1) << "No format is available with thew new resolution";
@@ -987,11 +976,6 @@
     return;
   }
 
-  if (!IsValidFrameForQueueDMABuf(dec_surface->video_frame().get(),
-                                  num_output_planes_)) {
-    SetState(State::kError);
-    return;
-  }
   if (!std::move(dec_surface->output_buffer())
            .QueueDMABuf(dec_surface->video_frame()->DmabufFds())) {
     SetState(State::kError);
@@ -1138,13 +1122,6 @@
   }
 }
 
-int32_t V4L2SliceVideoDecoder::GetNextBitstreamId() {
-  DCHECK_CALLED_ON_VALID_SEQUENCE(client_sequence_checker_);
-
-  next_bitstream_buffer_id_ = (next_bitstream_buffer_id_ + 1) & 0x7FFFFFFF;
-  return next_bitstream_buffer_id_;
-}
-
 void V4L2SliceVideoDecoder::RunDecodeCB(DecodeCB cb, DecodeStatus status) {
   DCHECK_CALLED_ON_VALID_SEQUENCE(decoder_sequence_checker_);
 
diff --git a/media/gpu/v4l2/v4l2_slice_video_decoder.h b/media/gpu/v4l2/v4l2_slice_video_decoder.h
index abdd867..ab01959 100644
--- a/media/gpu/v4l2/v4l2_slice_video_decoder.h
+++ b/media/gpu/v4l2/v4l2_slice_video_decoder.h
@@ -140,6 +140,20 @@
     kWaitSubFrameDecoded,
   };
 
+  class BitstreamIdGenerator {
+   public:
+    BitstreamIdGenerator() { DETACH_FROM_SEQUENCE(sequence_checker_); }
+    int32_t GetNextBitstreamId() {
+      DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+      next_bitstream_buffer_id_ = (next_bitstream_buffer_id_ + 1) & 0x7FFFFFFF;
+      return next_bitstream_buffer_id_;
+    }
+
+   private:
+    int32_t next_bitstream_buffer_id_ = 0;
+    SEQUENCE_CHECKER(sequence_checker_);
+  };
+
   // Initialize on decoder thread.
   void InitializeTask(const VideoDecoderConfig& config,
                       InitCB init_cb,
@@ -147,12 +161,10 @@
   // Setup format for input queue.
   bool SetupInputFormat(uint32_t input_format_fourcc);
 
-  // Call VIDIOC_S_FMT with |format_fourcc| and |size|. Returns v4l2_format
-  // returned by VIDIOC_S_FMT on success, otherwise returns base::nullopt.
-  // This should be called only from SetupOutputFormat().
-  base::Optional<struct v4l2_format> SetV4L2FormatOnOutputQueue(
-      uint32_t format_fourcc,
-      const gfx::Size& size);
+  // Set the coded size on the input queue.
+  // Return true if the successful, false otherwise.
+  bool SetCodedSizeOnInputQueue(const gfx::Size& size);
+
   // Setup format for output queue. This function sets output format on output
   // queue that is supported by a v4l2 driver, can be allocatable by
   // VideoFramePool and can be composited by chrome. This also updates format
@@ -179,7 +191,8 @@
 
   // Enqueue |request| to the pending decode request queue, and try to decode
   // from the queue.
-  void EnqueueDecodeTask(DecodeRequest request);
+  void EnqueueDecodeTask(scoped_refptr<DecoderBuffer> buffer,
+                         V4L2SliceVideoDecoder::DecodeCB decode_cb);
   // Try to decode buffer from the pending decode request queue.
   // This method stops decoding when:
   // - Run out of surface
@@ -205,8 +218,6 @@
   // Try to dequeue input and output buffers from device.
   void ServiceDeviceTask(bool event);
 
-  // Get the next bitsream ID.
-  int32_t GetNextBitstreamId();
   // Convert the frame and call the output callback.
   void RunOutputCB(scoped_refptr<VideoFrame> frame,
                    const gfx::Rect& visible_rect,
@@ -271,13 +282,10 @@
   // Queue of pending output request.
   base::queue<OutputRequest> output_request_queue_;
 
-  // The number of planes, which is the number of DMA-buf fds we enqueue into
-  // the V4L2 device.
-  size_t num_output_planes_ = 0;
   // True if the decoder needs bitstream conversion before decoding.
   bool needs_bitstream_conversion_ = false;
-  // Next bitstream ID.
-  int32_t next_bitstream_buffer_id_ = 0;
+
+  BitstreamIdGenerator bitstream_id_generator_;
 
   // Set to true by CreateInputBuffers() if the codec driver supports requests.
   bool supports_requests_ = false;
diff --git a/media/gpu/v4l2/v4l2_video_encode_accelerator.cc b/media/gpu/v4l2/v4l2_video_encode_accelerator.cc
index 43f8c985..1b95ab1 100644
--- a/media/gpu/v4l2/v4l2_video_encode_accelerator.cc
+++ b/media/gpu/v4l2/v4l2_video_encode_accelerator.cc
@@ -109,10 +109,6 @@
 
 V4L2VideoEncodeAccelerator::InputRecord::~InputRecord() = default;
 
-V4L2VideoEncodeAccelerator::OutputRecord::OutputRecord() = default;
-
-V4L2VideoEncodeAccelerator::OutputRecord::~OutputRecord() = default;
-
 V4L2VideoEncodeAccelerator::InputFrameInfo::InputFrameInfo()
     : InputFrameInfo(nullptr, false) {}
 
@@ -767,9 +763,9 @@
     return;
   }
 
-  encoder_output_queue_.push_back(
+  bitstream_buffer_pool_.push_back(
       std::make_unique<BitstreamBufferRef>(buffer.id(), std::move(shm)));
-  Enqueue();
+  PumpBitstreamBuffers();
 
   if (encoder_state_ == kInitialized) {
     if (!StartDevicePoll())
@@ -841,7 +837,7 @@
             << output_queue_->FreeBuffersCount() << "+"
             << output_queue_->QueuedBuffersCount() << "/"
             << output_queue_->AllocatedBuffersCount() << "] => OUT["
-            << encoder_output_queue_.size() << "]";
+            << bitstream_buffer_pool_.size() << "]";
 }
 
 void V4L2VideoEncodeAccelerator::Enqueue() {
@@ -903,8 +899,7 @@
 
   // Enqueue all the outputs we can.
   const size_t old_outputs_queued = output_queue_->QueuedBuffersCount();
-  while (output_queue_->FreeBuffersCount() > 0 &&
-         !encoder_output_queue_.empty()) {
+  while (output_queue_->FreeBuffersCount() > 0) {
     if (!EnqueueOutputRecord())
       return;
   }
@@ -959,6 +954,7 @@
 
   // Dequeue completed output (VIDEO_CAPTURE) buffers, and recycle to the
   // free list.  Notify the client that an output buffer is complete.
+  bool buffer_dequeued = false;
   while (output_queue_->QueuedBuffersCount() > 0) {
     DCHECK(output_queue_->IsStreaming());
 
@@ -972,30 +968,53 @@
       break;
     }
 
-    V4L2ReadableBufferRef output_buf = std::move(ret.second);
-    OutputRecord& output_record = output_buffer_map_[output_buf->BufferId()];
-    DCHECK(output_record.buffer_ref);
-    int32_t bitstream_buffer_id = output_record.buffer_ref->id;
-    size_t output_data_size = CopyIntoOutputBuffer(
-        static_cast<const uint8_t*>(output_buf->GetPlaneMapping(0)) +
-            output_buf->GetPlaneDataOffset(0),
-        base::checked_cast<size_t>(output_buf->GetPlaneBytesUsed(0) -
-                                   output_buf->GetPlaneDataOffset(0)),
-        std::move(output_record.buffer_ref));
+    output_buffer_queue_.push_back(std::move(ret.second));
+    buffer_dequeued = true;
+  }
 
-    DVLOGF(4) << "returning bitstream_buffer_id=" << bitstream_buffer_id
-              << ", size=" << output_data_size
-              << ", key_frame=" << output_buf->IsKeyframe();
-    child_task_runner_->PostTask(
-        FROM_HERE,
-        base::BindOnce(&Client::BitstreamBufferReady, client_,
-                       bitstream_buffer_id,
-                       BitstreamBufferMetadata(
-                           output_data_size, output_buf->IsKeyframe(),
-                           base::TimeDelta::FromMicroseconds(
-                               output_buf->GetTimeStamp().tv_usec +
-                               output_buf->GetTimeStamp().tv_sec *
-                                   base::Time::kMicrosecondsPerSecond))));
+  if (buffer_dequeued)
+    PumpBitstreamBuffers();
+}
+
+void V4L2VideoEncodeAccelerator::PumpBitstreamBuffers() {
+  DVLOGF(4);
+  DCHECK(encoder_thread_.task_runner()->BelongsToCurrentThread());
+
+  while (!output_buffer_queue_.empty()) {
+    auto output_buf = std::move(output_buffer_queue_.front());
+    output_buffer_queue_.pop_front();
+
+    size_t bitstream_size = base::checked_cast<size_t>(
+        output_buf->GetPlaneBytesUsed(0) - output_buf->GetPlaneDataOffset(0));
+    if (bitstream_size > 0) {
+      if (bitstream_buffer_pool_.empty()) {
+        DVLOGF(4) << "No free bitstream buffer, skip.";
+        output_buffer_queue_.push_front(std::move(output_buf));
+        return;
+      }
+
+      auto buffer_ref = std::move(bitstream_buffer_pool_.back());
+      auto buffer_id = buffer_ref->id;
+      bitstream_buffer_pool_.pop_back();
+
+      size_t output_data_size = CopyIntoOutputBuffer(
+          static_cast<const uint8_t*>(output_buf->GetPlaneMapping(0)) +
+              output_buf->GetPlaneDataOffset(0),
+          bitstream_size, std::move(buffer_ref));
+
+      DVLOGF(4) << "returning buffer_id=" << buffer_id
+                << ", size=" << output_data_size
+                << ", key_frame=" << output_buf->IsKeyframe();
+      child_task_runner_->PostTask(
+          FROM_HERE,
+          base::BindOnce(&Client::BitstreamBufferReady, client_, buffer_id,
+                         BitstreamBufferMetadata(
+                             output_data_size, output_buf->IsKeyframe(),
+                             base::TimeDelta::FromMicroseconds(
+                                 output_buf->GetTimeStamp().tv_usec +
+                                 output_buf->GetTimeStamp().tv_sec *
+                                     base::Time::kMicrosecondsPerSecond))));
+    }
 
     if ((encoder_state_ == kFlushing) && output_buf->IsLast()) {
       // Notify client that flush has finished successfully. The flush callback
@@ -1138,20 +1157,15 @@
   DVLOGF(4);
   DCHECK(encoder_thread_.task_runner()->BelongsToCurrentThread());
   DCHECK_GT(output_queue_->FreeBuffersCount(), 0u);
-  DCHECK(!encoder_output_queue_.empty());
   TRACE_EVENT0("media,gpu", "V4L2VEA::EnqueueOutputRecord");
 
   // Enqueue an output (VIDEO_CAPTURE) buffer.
   V4L2WritableBufferRef output_buf = output_queue_->GetFreeBuffer();
   DCHECK(output_buf.IsValid());
-  OutputRecord& output_record = output_buffer_map_[output_buf.BufferId()];
-  DCHECK(!output_record.buffer_ref);
   if (!std::move(output_buf).QueueMMap()) {
     VLOGF(1) << "Failed to QueueMMap.";
     return false;
   }
-  output_record.buffer_ref = std::move(encoder_output_queue_.back());
-  encoder_output_queue_.pop_back();
   return true;
 }
 
@@ -1203,10 +1217,7 @@
     input_record.frame = nullptr;
   }
 
-  for (auto& output_record : output_buffer_map_)
-    output_record.buffer_ref.reset();
-
-  encoder_output_queue_.clear();
+  bitstream_buffer_pool_.clear();
 
   DVLOGF(3) << "device poll stopped";
   return true;
@@ -1623,10 +1634,6 @@
     VLOGF(1) << "Failed to allocate V4L2 output buffers.";
     return false;
   }
-
-  DCHECK(output_buffer_map_.empty());
-  output_buffer_map_ =
-      std::vector<OutputRecord>(output_queue_->AllocatedBuffersCount());
   return true;
 }
 
@@ -1651,7 +1658,6 @@
 
   DCHECK(!output_queue_->IsStreaming());
   output_queue_->DeallocateBuffers();
-  output_buffer_map_.clear();
 }
 
 }  // namespace media
diff --git a/media/gpu/v4l2/v4l2_video_encode_accelerator.h b/media/gpu/v4l2/v4l2_video_encode_accelerator.h
index 5492892..fe9e3f6 100644
--- a/media/gpu/v4l2/v4l2_video_encode_accelerator.h
+++ b/media/gpu/v4l2/v4l2_video_encode_accelerator.h
@@ -12,6 +12,7 @@
 #include <memory>
 #include <vector>
 
+#include "base/containers/circular_deque.h"
 #include "base/containers/queue.h"
 #include "base/files/scoped_file.h"
 #include "base/macros.h"
@@ -75,14 +76,6 @@
     base::Optional<size_t> ip_output_buffer_index;
   };
 
-  // Record for output buffers.
-  struct OutputRecord {
-    OutputRecord();
-    ~OutputRecord();
-
-    std::unique_ptr<BitstreamBufferRef> buffer_ref;
-  };
-
   // Store all the information of input frame passed to Encode().
   struct InputFrameInfo {
     InputFrameInfo();
@@ -143,6 +136,9 @@
   // Device destruction task.
   void DestroyTask();
 
+  // Try to output bitstream buffers.
+  void PumpBitstreamBuffers();
+
   // Flush all the encoded frames. After all frames is flushed successfully or
   // any error occurs, |flush_callback| will be called to notify client.
   void FlushTask(FlushCallback flush_callback);
@@ -309,12 +305,14 @@
   scoped_refptr<V4L2Queue> input_queue_;
   scoped_refptr<V4L2Queue> output_queue_;
 
-  // Mapping of int index to output buffer record.
-  std::vector<OutputRecord> output_buffer_map_;
-
   // Bitstream buffers ready to be used to return encoded output, as a LIFO
   // since we don't care about ordering.
-  std::vector<std::unique_ptr<BitstreamBufferRef>> encoder_output_queue_;
+  std::vector<std::unique_ptr<BitstreamBufferRef>> bitstream_buffer_pool_;
+
+  // Queue of encoded bitstream V4L2 buffers. We enqueue the encoded buffers
+  // from V4L2 devices, and copy the data to the bitstream buffers passed from
+  // the client via UseOutputBitstreamBuffer().
+  base::circular_deque<V4L2ReadableBufferRef> output_buffer_queue_;
 
   // The completion callback of the Flush() function.
   FlushCallback flush_callback_;
diff --git a/ppapi/cpp/private/var_private.cc b/ppapi/cpp/private/var_private.cc
index 0dbe2dc..b7d009a 100644
--- a/ppapi/cpp/private/var_private.cc
+++ b/ppapi/cpp/private/var_private.cc
@@ -24,10 +24,8 @@
 
 }  // namespace
 
-using namespace deprecated;
-
 VarPrivate::VarPrivate(const InstanceHandle& instance,
-                       ScriptableObject* object) {
+                       deprecated::ScriptableObject* object) {
   if (has_interface<PPB_Var_Deprecated>()) {
     var_ = get_interface<PPB_Var_Deprecated>()->CreateObject(
         instance.pp_instance(), object->GetClass(), object);
@@ -38,14 +36,14 @@
   is_managed_ = true;
 }
 
-ScriptableObject* VarPrivate::AsScriptableObject() const {
+deprecated::ScriptableObject* VarPrivate::AsScriptableObject() const {
   if (!is_object()) {
     PP_NOTREACHED();
   } else if (has_interface<PPB_Var_Deprecated>()) {
     void* object = NULL;
     if (get_interface<PPB_Var_Deprecated>()->IsInstanceOf(
-        var_, ScriptableObject::GetClass(), &object)) {
-      return reinterpret_cast<ScriptableObject*>(object);
+            var_, deprecated::ScriptableObject::GetClass(), &object)) {
+      return reinterpret_cast<deprecated::ScriptableObject*>(object);
     }
   }
   return NULL;
diff --git a/printing/backend/printing_restrictions.cc b/printing/backend/printing_restrictions.cc
index 58f5cc0b..2e4cba3f 100644
--- a/printing/backend/printing_restrictions.cc
+++ b/printing/backend/printing_restrictions.cc
@@ -9,9 +9,11 @@
 const char kAllowedColorModes[] = "allowedColorModes";
 const char kAllowedDuplexModes[] = "allowedDuplexModes";
 const char kAllowedPinModes[] = "allowedPinModes";
+const char kAllowedBackgroundGraphicsModes[] = "allowedBackgroundGraphicsModes";
 const char kDefaultColorMode[] = "defaultColorMode";
 const char kDefaultDuplexMode[] = "defaultDuplexMode";
 const char kDefaultPinMode[] = "defaultPinMode";
+const char kDefaultBackgroundGraphicsMode[] = "defaultBackgroundGraphicsMode";
 const char kPageWidthUm[] = "WidthUm";
 const char kPageHeightUm[] = "HeightUm";
 
diff --git a/printing/backend/printing_restrictions.h b/printing/backend/printing_restrictions.h
index cc6d969..1b8143a 100644
--- a/printing/backend/printing_restrictions.h
+++ b/printing/backend/printing_restrictions.h
@@ -35,15 +35,25 @@
   kNoPin = 2,
 };
 
+// Allowed background graphics modes.
+// This is used in pref file and should never change.
+enum class BackgroundGraphicsModeRestriction {
+  kUnset = 0,
+  kEnabled = 1,
+  kDisabled = 2,
+};
+
 // Dictionary key for printing policies.
 // Must coincide with the name of field in |print_preview.Policies| in
 // chrome/browser/resources/print_preview/data/destination.js
 PRINTING_EXPORT extern const char kAllowedColorModes[];
 PRINTING_EXPORT extern const char kAllowedDuplexModes[];
 PRINTING_EXPORT extern const char kAllowedPinModes[];
+PRINTING_EXPORT extern const char kAllowedBackgroundGraphicsModes[];
 PRINTING_EXPORT extern const char kDefaultColorMode[];
 PRINTING_EXPORT extern const char kDefaultDuplexMode[];
 PRINTING_EXPORT extern const char kDefaultPinMode[];
+PRINTING_EXPORT extern const char kDefaultBackgroundGraphicsMode[];
 
 // Dictionary keys to be used with |kPrintingAllowedPageSizes| and
 // |kPrintingSizeDefault| policies.
diff --git a/sandbox/linux/syscall_broker/broker_client.h b/sandbox/linux/syscall_broker/broker_client.h
index a228afec9..842ee16a 100644
--- a/sandbox/linux/syscall_broker/broker_client.h
+++ b/sandbox/linux/syscall_broker/broker_client.h
@@ -71,7 +71,7 @@
   int Stat(const char* pathname, bool follow_links, struct stat* sb) const;
   int Stat64(const char* pathname, bool folllow_links, struct stat64* sb) const;
 
-  // Can be used in place of rmdir().
+  // Can be used in place of unlink().
   int Unlink(const char* unlink) const;
 
  private:
diff --git a/services/audio/audio_sandbox_hook_linux.cc b/services/audio/audio_sandbox_hook_linux.cc
index bcda6c08..4cb58c3c 100644
--- a/services/audio/audio_sandbox_hook_linux.cc
+++ b/services/audio/audio_sandbox_hook_linux.cc
@@ -9,9 +9,11 @@
 #include <string>
 #include <vector>
 
+#include "base/environment.h"
 #include "base/files/file_path.h"
 #include "base/files/file_util.h"
 #include "base/path_service.h"
+#include "base/strings/string_piece.h"
 #include "base/strings/stringprintf.h"
 #include "sandbox/linux/syscall_broker/broker_command.h"
 #include "sandbox/linux/syscall_broker/broker_file_permission.h"
@@ -27,12 +29,12 @@
 void AddAlsaFilePermissions(std::vector<BrokerFilePermission>* permissions) {
   base::FilePath home_dir;
   base::PathService::Get(base::DIR_HOME, &home_dir);
-  const base::FilePath kAsoundrc =
+  const base::FilePath asoundrc =
       home_dir.Append(FILE_PATH_LITERAL(".asoundrc"));
-  const std::string kReadOnlyFilenames[]{"/etc/asound.conf", "/proc/cpuinfo",
-                                         "/etc/group", "/etc/nsswitch.conf",
-                                         kAsoundrc.value()};
-  for (const auto& filename : kReadOnlyFilenames)
+  const std::string read_only_filenames[]{"/etc/asound.conf", "/proc/cpuinfo",
+                                          "/etc/group", "/etc/nsswitch.conf",
+                                          asoundrc.value()};
+  for (const auto& filename : read_only_filenames)
     permissions->push_back(BrokerFilePermission::ReadOnly(filename));
 
   permissions->push_back(
@@ -40,47 +42,100 @@
   permissions->push_back(
       BrokerFilePermission::ReadWriteCreateRecursive("/dev/snd/"));
 
-  static const base::FilePath::CharType kDevAloadPath[] =
+  static const base::FilePath::CharType dev_aload_path[] =
       FILE_PATH_LITERAL("/dev/aloadC");
   for (int i = 0; i <= 31; ++i) {
     permissions->push_back(BrokerFilePermission::ReadWrite(
-        base::StringPrintf("%s%d", kDevAloadPath, i)));
+        base::StringPrintf("%s%d", dev_aload_path, i)));
   }
 }
 #endif
 
 #if defined(USE_PULSEAUDIO)
+// Utility function used to grant permissions on paths used by PulseAudio which
+// are specified through environment variables. |recursive_only| is used to
+// determine if the path itself should be allowed access or only its content.
+void AllowAccessToEnvSpecifiedPath(
+    base::StringPiece variable_name,
+    std::vector<BrokerFilePermission>* permissions,
+    bool recursive_only) {
+  std::unique_ptr<base::Environment> env(base::Environment::Create());
+
+  std::string path_value;
+  if (!env->GetVar(variable_name, &path_value))
+    return;
+
+  const base::FilePath pa_config_path(path_value);
+  if (pa_config_path.empty())
+    return;
+
+  if (!recursive_only) {
+    permissions->push_back(BrokerFilePermission::ReadWriteCreate(
+        pa_config_path.StripTrailingSeparators().value()));
+  }
+  permissions->push_back(BrokerFilePermission::ReadWriteCreateRecursive(
+      pa_config_path.AsEndingWithSeparator().value()));
+}
+
 void AddPulseAudioFilePermissions(
     std::vector<BrokerFilePermission>* permissions) {
   base::FilePath home_dir;
   base::PathService::Get(base::DIR_HOME, &home_dir);
-  const base::FilePath kXauthorityPath =
+  const base::FilePath xauthority_path =
       home_dir.Append(FILE_PATH_LITERAL(".Xauthority"));
 
   // Calling read() system call on /proc/self/exe returns broker process' path,
   // and it's used by pulse audio for creating a new context.
-  const std::string kReadOnlyFilenames[]{
+  const std::string read_only_filenames[]{
       "/etc/machine-id", "/proc/self/exe",
       "/usr/lib/x86_64-linux-gnu/gconv/gconv-modules.cache",
-      "/usr/lib/x86_64-linux-gnu/gconv/gconv-modules", kXauthorityPath.value()};
-  for (const auto& filename : kReadOnlyFilenames)
+      "/usr/lib/x86_64-linux-gnu/gconv/gconv-modules", xauthority_path.value()};
+  for (const auto& filename : read_only_filenames)
     permissions->push_back(BrokerFilePermission::ReadOnly(filename));
 
-  const base::FilePath kPulsePath =
-      home_dir.Append(FILE_PATH_LITERAL(".pulse/"));
-  const base::FilePath kConfigPulsePath =
-      home_dir.Append(FILE_PATH_LITERAL(".config/pulse/"));
-  const std::string kReadOnlyRecursivePaths[]{"/etc/pulse/", kPulsePath.value(),
-                                              kConfigPulsePath.value()};
-  for (const auto& path : kReadOnlyRecursivePaths)
-    permissions->push_back(BrokerFilePermission::ReadOnlyRecursive(path));
+  // In certain situations, pulse runs stat() on the home directory.
+  permissions->push_back(
+      BrokerFilePermission::StatOnlyWithIntermediateDirs(home_dir.value()));
 
-  const std::string kRunUserPath = base::StringPrintf("/run/user/%d", getuid());
-  permissions->push_back(BrokerFilePermission::ReadWriteCreate(kRunUserPath));
   permissions->push_back(
-      BrokerFilePermission::ReadWriteCreate(kRunUserPath + "/pulse"));
+      BrokerFilePermission::ReadOnlyRecursive("/etc/pulse/"));
+
+  // At times, Pulse tries to create the directory even if the directory already
+  // exists and fails if the mkdir() operation returns anything other than
+  // "success" or "exists".
+  const char* pulse_home_dirs[] = {".pulse", ".config/pulse"};
+  for (const char* pulse_home_dir : pulse_home_dirs) {
+    const base::FilePath pulse_home_path = home_dir.Append(pulse_home_dir);
+    permissions->push_back(
+        BrokerFilePermission::ReadWriteCreate(pulse_home_path.value()));
+    permissions->push_back(BrokerFilePermission::ReadWriteCreateRecursive(
+        pulse_home_path.AsEndingWithSeparator().value()));
+  }
+  // Pulse might also need to create directories in tmp of the form
+  // "/tmp/pulse-<random string>".
   permissions->push_back(
-      BrokerFilePermission::ReadWriteCreateRecursive(kRunUserPath + "/pulse/"));
+      BrokerFilePermission::ReadWriteCreateRecursive("/tmp/"));
+  const char* env_tmp_paths[] = {"TMPDIR", "TMP", "TEMP", "TEMPDIR"};
+  for (const char* env_tmp_path : env_tmp_paths) {
+    AllowAccessToEnvSpecifiedPath(env_tmp_path, permissions,
+                                  /*recursive_only=*/true);
+  }
+  // Read up the Pulse paths specified via environment variable and allow for
+  // read/write/create recursively on the directory.
+  const char* env_pulse_paths[] = {"PULSE_CONFIG_PATH", "PULSE_RUNTIME_PATH",
+                                   "PULSE_STATE_PATH"};
+  for (const char* env_pulse_path : env_pulse_paths) {
+    AllowAccessToEnvSpecifiedPath(env_pulse_path, permissions,
+                                  /*recursive_only=*/false);
+  }
+
+  const std::string run_user_path =
+      base::StringPrintf("/run/user/%d", getuid());
+  permissions->push_back(BrokerFilePermission::ReadWriteCreate(run_user_path));
+  permissions->push_back(
+      BrokerFilePermission::ReadWriteCreate(run_user_path + "/pulse"));
+  permissions->push_back(BrokerFilePermission::ReadWriteCreateRecursive(
+      run_user_path + "/pulse/"));
 }
 #endif
 
@@ -102,9 +157,9 @@
 }
 
 void LoadAudioLibraries() {
-  const std::string kLibraries[]{"libasound.so.2", "libpulse.so.0",
-                                 "libnss_files.so.2"};
-  for (const auto& library_name : kLibraries) {
+  const std::string libraries[]{"libasound.so.2", "libpulse.so.0",
+                                "libnss_files.so.2"};
+  for (const auto& library_name : libraries) {
     if (nullptr ==
         dlopen(library_name.c_str(), RTLD_NOW | RTLD_GLOBAL | RTLD_NODELETE)) {
       LOG(WARNING) << "dlopen: failed to open " << library_name
diff --git a/testing/buildbot/chromium.gpu.fyi.json b/testing/buildbot/chromium.gpu.fyi.json
index f7af9f6..06e4904 100644
--- a/testing/buildbot/chromium.gpu.fyi.json
+++ b/testing/buildbot/chromium.gpu.fyi.json
@@ -13742,7 +13742,7 @@
             {
               "gpu": "10de:0fe9",
               "hidpi": "1",
-              "os": "Mac-10.13.6",
+              "os": "Mac-10.14.6",
               "pool": "Chrome-GPU"
             }
           ],
diff --git a/testing/buildbot/filters/bfcache.browser_tests.filter b/testing/buildbot/filters/bfcache.browser_tests.filter
index 27d06d7..4fa7cc4 100644
--- a/testing/buildbot/filters/bfcache.browser_tests.filter
+++ b/testing/buildbot/filters/bfcache.browser_tests.filter
@@ -11,7 +11,7 @@
 # Test goes back and forth in between a "preview" page and a "normal" page.
 # When going back to the first page, it expected to be loaded as a "normal" page,
 # but it isn't reloaded at all with the BackForwardCache.
--PreviewsLitePageServerBrowserTest.LitePagePreviewsNavigation/*
+-PreviewsLitePageRedirectServerBrowserTest.LitePagePreviewsNavigation/*
 
 # Very flaky. Can't reproduce locally, it always succeed.
 -SystemNetworkContextManagerMaxConnectionsPerProxyBrowsertest.MaxConnectionsPerProxy
diff --git a/testing/buildbot/filters/bfcache.chrome_public_test_apk.filter b/testing/buildbot/filters/bfcache.chrome_public_test_apk.filter
index df82a83e..72f814e 100644
--- a/testing/buildbot/filters/bfcache.chrome_public_test_apk.filter
+++ b/testing/buildbot/filters/bfcache.chrome_public_test_apk.filter
@@ -7,6 +7,9 @@
 -org.chromium.chrome.browser.FeaturesAnnotationsTest.testFeaturesSetExistingFlags
 -org.chromium.chrome.browser.FeaturesAnnotationsTest.testFeaturesDoNotRemoveExistingFlags
 
+# (Android only) UkmTest (4 tests)
+-org.chromium.chrome.browser.sync.UkmTest.*
+
 # Not triaged yet. See https://crbug.com/1006267
 -org.chromium.chrome.browser.SafeBrowsingTest.interstitialPage
 -org.chromium.chrome.browser.WarmupManagerTest.testCreateAndTakeSpareRenderer
@@ -14,11 +17,11 @@
 -org.chromium.chrome.browser.customtabs.DetachedResourceRequestTest.testSafeBrowsingSubresource
 -org.chromium.chrome.browser.customtabs.DetachedResourceRequestTest.testSafeBrowsingSubresourceBeforeNative
 -org.chromium.chrome.browser.externalnav.UrlOverridingTest.testRedirectionFromIntent
--org.chromium.chrome.browser.keyboard_accessory.PasswordGenerationIntegrationTest.testAutomaticGenerationUsePassword
--org.chromium.chrome.browser.keyboard_accessory.PasswordGenerationIntegrationTest.testManualGenerationUsePassword
 -org.chromium.chrome.browser.incognito.IncognitoTabLauncherTest.testLaunchIncognitoNewTab
 -org.chromium.chrome.browser.incognito.IncognitoTabLauncherTest.testLaunchIncognitoNewTab_omniboxFocused
 -org.chromium.chrome.browser.infobar.InfoBarTest.testInfoBarForGeolocationDisappearsOnBack
+-org.chromium.chrome.browser.keyboard_accessory.PasswordGenerationIntegrationTest.testAutomaticGenerationUsePassword
+-org.chromium.chrome.browser.keyboard_accessory.PasswordGenerationIntegrationTest.testManualGenerationUsePassword
 -org.chromium.chrome.browser.media.MediaLauncherActivityTest.testHandleImageIntent
 -org.chromium.chrome.browser.media.MediaLauncherActivityTest.testHandleVideoIntent
 -org.chromium.chrome.browser.notifications.NotificationPlatformBridgeIntentTest.testLaunchNotificationPreferencesForCategory
diff --git a/testing/buildbot/filters/bfcache.content_browsertests.filter b/testing/buildbot/filters/bfcache.content_browsertests.filter
index 7f4cd525..a53addd 100644
--- a/testing/buildbot/filters/bfcache.content_browsertests.filter
+++ b/testing/buildbot/filters/bfcache.content_browsertests.filter
@@ -1,5 +1,8 @@
 # These tests currently fail when run with --enable-features=BackForwardCache.
 
+# WebLock  (deadlock)
+-LockManagerBrowserTest.*
+
 # Same-document navigation pointing to a URL that would cause a redirect if it
 # was reloaded. It never happen, because the document is restored directly.
 -NavigationControllerBrowserTest.SiteInstanceChangeOnHistoryNavigation
diff --git a/testing/buildbot/mixins.pyl b/testing/buildbot/mixins.pyl
index 7747e8a..e64452b 100644
--- a/testing/buildbot/mixins.pyl
+++ b/testing/buildbot/mixins.pyl
@@ -466,7 +466,7 @@
       'dimensions': {
         'gpu': '10de:0fe9',
         'hidpi': '1',
-        'os': 'Mac-10.13.6',
+        'os': 'Mac-10.14.6',
         'pool': 'Chrome-GPU',
       },
     },
diff --git a/third_party/.gitignore b/third_party/.gitignore
index 9b8f5b31..e68cb6d 100644
--- a/third_party/.gitignore
+++ b/third_party/.gitignore
@@ -117,6 +117,7 @@
 /javax_inject/lib/
 /jacoco/lib/
 /javalang/src/
+/jdk/current
 /jsoncpp/source
 /jsr-305/src
 /junit/src
diff --git a/third_party/blink/PRESUBMIT_test.py b/third_party/blink/PRESUBMIT_test.py
index e7cf59ca..e28addf4 100755
--- a/third_party/blink/PRESUBMIT_test.py
+++ b/third_party/blink/PRESUBMIT_test.py
@@ -240,7 +240,7 @@
 
     # External module checks should not affect CSS files.
     def testCheckCSSIgnored(self):
-        filename = 'third_party/blink/renderer/devtools/front_end/timeline/someFile.css'
+        filename = 'third_party/blink/renderer/someFile.css'
         errors = self.runCheck(filename, ['.toolbar::after { color: pink; }\n'])
         self.assertEqual([], errors)
 
diff --git a/third_party/blink/public/BUILD.gn b/third_party/blink/public/BUILD.gn
index 67a04d4..77d1f2f 100644
--- a/third_party/blink/public/BUILD.gn
+++ b/third_party/blink/public/BUILD.gn
@@ -237,6 +237,7 @@
     "platform/web_encrypted_media_key_information.h",
     "platform/web_encrypted_media_request.h",
     "platform/web_encrypted_media_types.h",
+    "platform/web_fetch_client_settings_object.h",
     "platform/web_file_system_type.h",
     "platform/web_float_point.h",
     "platform/web_float_point_3d.h",
diff --git a/third_party/blink/public/mojom/loader/fetch_client_settings_object.mojom b/third_party/blink/public/mojom/loader/fetch_client_settings_object.mojom
index 5870e5a..bedbd7c 100644
--- a/third_party/blink/public/mojom/loader/fetch_client_settings_object.mojom
+++ b/third_party/blink/public/mojom/loader/fetch_client_settings_object.mojom
@@ -19,6 +19,8 @@
 //
 // See comments on blink::FetchClientSettingsObject for details of this struct
 // and each member.
+//
+// Also keep this struct consistent with blink::WebFetchClientSettingsObject.
 struct FetchClientSettingsObject {
   network.mojom.ReferrerPolicy referrer_policy;
   url.mojom.Url outgoing_referrer;
diff --git a/third_party/blink/public/mojom/web_feature/web_feature.mojom b/third_party/blink/public/mojom/web_feature/web_feature.mojom
index 70619de8..99512e8b 100644
--- a/third_party/blink/public/mojom/web_feature/web_feature.mojom
+++ b/third_party/blink/public/mojom/web_feature/web_feature.mojom
@@ -2426,6 +2426,7 @@
   kFragmentHasAmpersandDelimiterQuestion = 3042,
   kInvalidFragmentDirective = 3043,
   kContactsManagerGetProperties = 3044,
+  kEvaluateScriptMovedBetweenElementDocuments = 3045,
 
   // Add new features immediately above this line. Don't change assigned
   // numbers of any item, and don't reuse removed slots.
diff --git a/third_party/blink/public/platform/web_dedicated_worker_host_factory_client.h b/third_party/blink/public/platform/web_dedicated_worker_host_factory_client.h
index f0126764..f3a7c6c 100644
--- a/third_party/blink/public/platform/web_dedicated_worker_host_factory_client.h
+++ b/third_party/blink/public/platform/web_dedicated_worker_host_factory_client.h
@@ -10,6 +10,7 @@
 #include "services/network/public/mojom/fetch_api.mojom-shared.h"
 #include "services/network/public/mojom/referrer_policy.mojom-shared.h"
 #include "third_party/blink/public/mojom/frame/lifecycle.mojom-shared.h"
+#include "third_party/blink/public/platform/web_fetch_client_settings_object.h"
 #include "third_party/blink/public/platform/web_insecure_request_policy.h"
 
 namespace base {
@@ -34,17 +35,15 @@
   virtual void CreateWorkerHostDeprecated(
       const blink::WebSecurityOrigin& script_origin) = 0;
   // For PlzDedicatedWorker.
-  // TODO(nhiroki): Pack |fetch_client_*| into some struct like
-  // WebFetchClientSettingsObject.
+  // |fetch_client_security_origin| is intentionally separated from
+  // |fetch_client_settings_object| as it shouldn't be passed from renderer
+  // process from the security perspective.
   virtual void CreateWorkerHost(
       const blink::WebURL& script_url,
       const blink::WebSecurityOrigin& script_origin,
       network::mojom::CredentialsMode credentials_mode,
       const blink::WebSecurityOrigin& fetch_client_security_origin,
-      network::mojom::ReferrerPolicy fetch_client_referrer_policy,
-      const blink::WebURL& fetch_client_outgoing_referrer,
-      const blink::WebInsecureRequestPolicy
-          fetch_client_insecure_request_policy,
+      const blink::WebFetchClientSettingsObject& fetch_client_settings_object,
       mojo::ScopedMessagePipeHandle blob_url_token) = 0;
 
   // Clones the given WebWorkerFetchContext for nested workers.
diff --git a/third_party/blink/public/platform/web_fetch_client_settings_object.h b/third_party/blink/public/platform/web_fetch_client_settings_object.h
new file mode 100644
index 0000000..d2cd4d7f
--- /dev/null
+++ b/third_party/blink/public/platform/web_fetch_client_settings_object.h
@@ -0,0 +1,43 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef THIRD_PARTY_BLINK_PUBLIC_PLATFORM_WEB_FETCH_CLIENT_SETTINGS_OBJECT_H_
+#define THIRD_PARTY_BLINK_PUBLIC_PLATFORM_WEB_FETCH_CLIENT_SETTINGS_OBJECT_H_
+
+#include "third_party/blink/public/mojom/loader/fetch_client_settings_object.mojom-shared.h"
+#include "third_party/blink/public/platform/web_common.h"
+#include "third_party/blink/public/platform/web_url.h"
+
+#if INSIDE_BLINK
+#include "third_party/blink/renderer/platform/loader/fetch/fetch_client_settings_object_snapshot.h"  // nogncheck
+#include "third_party/blink/renderer/platform/weborigin/kurl.h"  // nogncheck
+#endif
+
+namespace blink {
+
+// Yet another variant of FetchClientSettingsObject. Having this is unfortunate
+// but we need this struct for the interaction between blink and content until
+// Onion Soup is done.
+// Keep this struct consistent with mojom::FetchClientSettingsObject.
+struct WebFetchClientSettingsObject {
+  network::mojom::ReferrerPolicy referrer_policy;
+  WebURL outgoing_referrer;
+  mojom::InsecureRequestsPolicy insecure_requests_policy;
+
+#if INSIDE_BLINK
+  explicit WebFetchClientSettingsObject(
+      const FetchClientSettingsObjectSnapshot& snapshot)
+      : referrer_policy(snapshot.GetReferrerPolicy()),
+        outgoing_referrer(KURL(snapshot.GetOutgoingReferrer())),
+        insecure_requests_policy(
+            snapshot.GetInsecureRequestsPolicy() &
+                    blink::kUpgradeInsecureRequests
+                ? blink::mojom::InsecureRequestsPolicy::kUpgrade
+                : blink::mojom::InsecureRequestsPolicy::kDoNotUpgrade) {}
+#endif  // INSIDE_BLINK
+};
+
+}  // namespace blink
+
+#endif  // THIRD_PARTY_BLINK_PUBLIC_PLATFORM_WEB_FETCH_CLIENT_SETTINGS_OBJECT_H_
diff --git a/third_party/blink/renderer/controller/BUILD.gn b/third_party/blink/renderer/controller/BUILD.gn
index 35c8b857..45c823a 100644
--- a/third_party/blink/renderer/controller/BUILD.gn
+++ b/third_party/blink/renderer/controller/BUILD.gn
@@ -18,6 +18,7 @@
   deps = [
     "//skia",
     "//third_party/blink/renderer/core",
+    "//third_party/blink/renderer/core:testing",
     "//third_party/blink/renderer/modules",
     "//third_party/blink/renderer/platform",
     "//v8",
diff --git a/third_party/blink/renderer/controller/blink_leak_detector.cc b/third_party/blink/renderer/controller/blink_leak_detector.cc
index 2de2369..d35880b 100644
--- a/third_party/blink/renderer/controller/blink_leak_detector.cc
+++ b/third_party/blink/renderer/controller/blink_leak_detector.cc
@@ -67,7 +67,10 @@
   for (auto resource_fetcher : ResourceFetcher::MainThreadFetchers())
     resource_fetcher->PrepareForLeakDetection();
 
-  Page::PrepareForLeakDetection();
+  // Internal settings are ScriptWrappable and thus may retain documents
+  // depending on whether the garbage collector(s) are able to find the settings
+  // object through the Page supplement.
+  InternalSettings::PrepareForLeakDetection();
 
   // Task queue may contain delayed object destruction tasks.
   // This method is called from navigation hook inside FrameLoader,
diff --git a/third_party/blink/renderer/core/BUILD.gn b/third_party/blink/renderer/core/BUILD.gn
index 8281290..932e138 100644
--- a/third_party/blink/renderer/core/BUILD.gn
+++ b/third_party/blink/renderer/core/BUILD.gn
@@ -245,8 +245,6 @@
 }
 
 jumbo_source_set("testing") {
-  testonly = true
-
   configs += [
     ":blink_core_pch",
     "//third_party/blink/renderer:config",
diff --git a/third_party/blink/renderer/core/frame/frame_test_helpers.h b/third_party/blink/renderer/core/frame/frame_test_helpers.h
index b1c24b2..71ae84f 100644
--- a/third_party/blink/renderer/core/frame/frame_test_helpers.h
+++ b/third_party/blink/renderer/core/frame/frame_test_helpers.h
@@ -44,7 +44,7 @@
 #include "content/test/stub_layer_tree_view_delegate.h"
 #include "services/service_manager/public/cpp/interface_provider.h"
 #include "third_party/blink/public/common/frame/frame_owner_element_type.h"
-#include "third_party/blink/public/mojom/fetch/fetch_api_request.mojom-blink.h"
+#include "third_party/blink/public/mojom/fetch/fetch_api_request.mojom-blink-forward.h"
 #include "third_party/blink/public/platform/platform.h"
 #include "third_party/blink/public/platform/scheduler/test/web_fake_thread_scheduler.h"
 #include "third_party/blink/public/platform/web_mouse_event.h"
diff --git a/third_party/blink/renderer/core/frame/local_frame_client.h b/third_party/blink/renderer/core/frame/local_frame_client.h
index 9bc1818..49796136 100644
--- a/third_party/blink/renderer/core/frame/local_frame_client.h
+++ b/third_party/blink/renderer/core/frame/local_frame_client.h
@@ -39,9 +39,9 @@
 #include "services/network/public/mojom/ip_address_space.mojom-blink-forward.h"
 #include "third_party/blink/public/common/feature_policy/feature_policy.h"
 #include "third_party/blink/public/common/user_agent/user_agent_metadata.h"
-#include "third_party/blink/public/mojom/frame/navigation_initiator.mojom-blink.h"
+#include "third_party/blink/public/mojom/frame/navigation_initiator.mojom-blink-forward.h"
 #include "third_party/blink/public/mojom/portal/portal.mojom-blink-forward.h"
-#include "third_party/blink/public/mojom/use_counter/css_property_id.mojom-blink.h"
+#include "third_party/blink/public/mojom/use_counter/css_property_id.mojom-blink-forward.h"
 #include "third_party/blink/public/platform/scheduler/web_scoped_virtual_time_pauser.h"
 #include "third_party/blink/public/platform/web_content_security_policy_struct.h"
 #include "third_party/blink/public/platform/web_content_settings_client.h"
diff --git a/third_party/blink/renderer/core/frame/local_frame_view.h b/third_party/blink/renderer/core/frame/local_frame_view.h
index 53792a4d..b02f253 100644
--- a/third_party/blink/renderer/core/frame/local_frame_view.h
+++ b/third_party/blink/renderer/core/frame/local_frame_view.h
@@ -28,7 +28,7 @@
 
 #include <memory>
 
-#include "third_party/blink/public/mojom/frame/lifecycle.mojom-blink.h"
+#include "third_party/blink/public/mojom/frame/lifecycle.mojom-blink-forward.h"
 #include "third_party/blink/public/mojom/manifest/display_mode.mojom-shared.h"
 #include "third_party/blink/public/platform/shape_properties.h"
 #include "third_party/blink/renderer/core/core_export.h"
diff --git a/third_party/blink/renderer/core/frame/remote_frame_client.h b/third_party/blink/renderer/core/frame/remote_frame_client.h
index ebde84e..0e54fb21 100644
--- a/third_party/blink/renderer/core/frame/remote_frame_client.h
+++ b/third_party/blink/renderer/core/frame/remote_frame_client.h
@@ -7,7 +7,7 @@
 
 #include "cc/paint/paint_canvas.h"
 #include "third_party/blink/public/common/frame/occlusion_state.h"
-#include "third_party/blink/public/mojom/blob/blob_url_store.mojom-blink.h"
+#include "third_party/blink/public/mojom/blob/blob_url_store.mojom-blink-forward.h"
 #include "third_party/blink/public/platform/web_focus_type.h"
 #include "third_party/blink/public/web/web_frame_load_type.h"
 #include "third_party/blink/renderer/core/frame/frame_client.h"
diff --git a/third_party/blink/renderer/core/frame/remote_frame_view.h b/third_party/blink/renderer/core/frame/remote_frame_view.h
index 910a7ef..39a5e083 100644
--- a/third_party/blink/renderer/core/frame/remote_frame_view.h
+++ b/third_party/blink/renderer/core/frame/remote_frame_view.h
@@ -7,7 +7,7 @@
 
 #include "cc/paint/paint_canvas.h"
 #include "third_party/blink/public/common/frame/occlusion_state.h"
-#include "third_party/blink/public/mojom/frame/lifecycle.mojom-blink.h"
+#include "third_party/blink/public/mojom/frame/lifecycle.mojom-blink-forward.h"
 #include "third_party/blink/renderer/core/dom/document_lifecycle.h"
 #include "third_party/blink/renderer/core/frame/frame_view.h"
 #include "third_party/blink/renderer/core/layout/intrinsic_sizing_info.h"
diff --git a/third_party/blink/renderer/core/frame/use_counter_helper.h b/third_party/blink/renderer/core/frame/use_counter_helper.h
index 6c12e3e..5b3a6462 100644
--- a/third_party/blink/renderer/core/frame/use_counter_helper.h
+++ b/third_party/blink/renderer/core/frame/use_counter_helper.h
@@ -28,7 +28,7 @@
 
 #include <bitset>
 #include "base/macros.h"
-#include "third_party/blink/public/mojom/use_counter/css_property_id.mojom-blink.h"
+#include "third_party/blink/public/mojom/use_counter/css_property_id.mojom-blink-forward.h"
 #include "third_party/blink/renderer/core/core_export.h"
 #include "third_party/blink/renderer/core/css/css_property_names.h"
 #include "third_party/blink/renderer/core/css/parser/css_parser_mode.h"
diff --git a/third_party/blink/renderer/core/frame/viewport_data.h b/third_party/blink/renderer/core/frame/viewport_data.h
index 89a221c..050c4c5e 100644
--- a/third_party/blink/renderer/core/frame/viewport_data.h
+++ b/third_party/blink/renderer/core/frame/viewport_data.h
@@ -6,7 +6,7 @@
 #define THIRD_PARTY_BLINK_RENDERER_CORE_FRAME_VIEWPORT_DATA_H_
 
 #include "mojo/public/cpp/bindings/associated_remote.h"
-#include "third_party/blink/public/mojom/page/display_cutout.mojom-blink.h"
+#include "third_party/blink/public/mojom/page/display_cutout.mojom-blink-forward.h"
 #include "third_party/blink/renderer/core/core_export.h"
 #include "third_party/blink/renderer/core/page/viewport_description.h"
 #include "third_party/blink/renderer/platform/heap/handle.h"
diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_base.h b/third_party/blink/renderer/core/frame/web_frame_widget_base.h
index 37af84b..98796c1 100644
--- a/third_party/blink/renderer/core/frame/web_frame_widget_base.h
+++ b/third_party/blink/renderer/core/frame/web_frame_widget_base.h
@@ -6,7 +6,7 @@
 #define THIRD_PARTY_BLINK_RENDERER_CORE_FRAME_WEB_FRAME_WIDGET_BASE_H_
 
 #include "base/single_thread_task_runner.h"
-#include "services/network/public/mojom/referrer_policy.mojom-blink.h"
+#include "services/network/public/mojom/referrer_policy.mojom-blink-forward.h"
 #include "third_party/blink/public/platform/web_coalesced_input_event.h"
 #include "third_party/blink/public/platform/web_drag_data.h"
 #include "third_party/blink/public/platform/web_gesture_device.h"
diff --git a/third_party/blink/renderer/core/frame/web_local_frame_impl.h b/third_party/blink/renderer/core/frame/web_local_frame_impl.h
index 1563ab1ae..46472da1 100644
--- a/third_party/blink/renderer/core/frame/web_local_frame_impl.h
+++ b/third_party/blink/renderer/core/frame/web_local_frame_impl.h
@@ -38,10 +38,10 @@
 #include "base/single_thread_task_runner.h"
 #include "mojo/public/cpp/bindings/pending_associated_receiver.h"
 #include "mojo/public/cpp/bindings/pending_associated_remote.h"
-#include "third_party/blink/public/mojom/ad_tagging/ad_frame.mojom-blink.h"
-#include "third_party/blink/public/mojom/devtools/devtools_agent.mojom-blink.h"
+#include "third_party/blink/public/mojom/ad_tagging/ad_frame.mojom-blink-forward.h"
+#include "third_party/blink/public/mojom/devtools/devtools_agent.mojom-blink-forward.h"
 #include "third_party/blink/public/mojom/frame/find_in_page.mojom-blink-forward.h"
-#include "third_party/blink/public/mojom/frame/lifecycle.mojom-blink.h"
+#include "third_party/blink/public/mojom/frame/lifecycle.mojom-blink-forward.h"
 #include "third_party/blink/public/mojom/portal/portal.mojom-blink-forward.h"
 #include "third_party/blink/public/platform/web_file_system_type.h"
 #include "third_party/blink/public/web/web_history_commit_type.h"
diff --git a/third_party/blink/renderer/core/html/anchor_element_metrics.h b/third_party/blink/renderer/core/html/anchor_element_metrics.h
index 778f218..44585d12 100644
--- a/third_party/blink/renderer/core/html/anchor_element_metrics.h
+++ b/third_party/blink/renderer/core/html/anchor_element_metrics.h
@@ -6,7 +6,7 @@
 #define THIRD_PARTY_BLINK_RENDERER_CORE_HTML_ANCHOR_ELEMENT_METRICS_H_
 
 #include "base/optional.h"
-#include "third_party/blink/public/mojom/loader/navigation_predictor.mojom-blink.h"
+#include "third_party/blink/public/mojom/loader/navigation_predictor.mojom-blink-forward.h"
 #include "third_party/blink/renderer/core/core_export.h"
 #include "third_party/blink/renderer/platform/heap/handle.h"
 #include "third_party/blink/renderer/platform/wtf/allocator/allocator.h"
diff --git a/third_party/blink/renderer/core/html/forms/color_chooser_client.h b/third_party/blink/renderer/core/html/forms/color_chooser_client.h
index afaa77a..828b2cf 100644
--- a/third_party/blink/renderer/core/html/forms/color_chooser_client.h
+++ b/third_party/blink/renderer/core/html/forms/color_chooser_client.h
@@ -31,7 +31,7 @@
 #ifndef THIRD_PARTY_BLINK_RENDERER_CORE_HTML_FORMS_COLOR_CHOOSER_CLIENT_H_
 #define THIRD_PARTY_BLINK_RENDERER_CORE_HTML_FORMS_COLOR_CHOOSER_CLIENT_H_
 
-#include "third_party/blink/public/mojom/choosers/color_chooser.mojom-blink.h"
+#include "third_party/blink/public/mojom/choosers/color_chooser.mojom-blink-forward.h"
 #include "third_party/blink/renderer/core/core_export.h"
 #include "third_party/blink/renderer/platform/geometry/int_rect.h"
 #include "third_party/blink/renderer/platform/graphics/color.h"
diff --git a/third_party/blink/renderer/core/html/forms/color_input_type.cc b/third_party/blink/renderer/core/html/forms/color_input_type.cc
index e750e73..9b488c5 100644
--- a/third_party/blink/renderer/core/html/forms/color_input_type.cc
+++ b/third_party/blink/renderer/core/html/forms/color_input_type.cc
@@ -30,6 +30,7 @@
 
 #include "third_party/blink/renderer/core/html/forms/color_input_type.h"
 
+#include "third_party/blink/public/mojom/choosers/color_chooser.mojom-blink.h"
 #include "third_party/blink/renderer/bindings/core/v8/script_controller.h"
 #include "third_party/blink/renderer/core/css/css_property_names.h"
 #include "third_party/blink/renderer/core/dom/events/scoped_event_queue.h"
diff --git a/third_party/blink/renderer/core/html/forms/mock_file_chooser.h b/third_party/blink/renderer/core/html/forms/mock_file_chooser.h
index 0fc886a0..7aa7791 100644
--- a/third_party/blink/renderer/core/html/forms/mock_file_chooser.h
+++ b/third_party/blink/renderer/core/html/forms/mock_file_chooser.h
@@ -11,7 +11,7 @@
 #include "mojo/public/cpp/bindings/receiver_set.h"
 #include "mojo/public/cpp/system/message_pipe.h"
 #include "third_party/blink/public/common/browser_interface_broker_proxy.h"
-#include "third_party/blink/public/mojom/choosers/file_chooser.mojom-blink.h"
+#include "third_party/blink/public/mojom/choosers/file_chooser.mojom-blink-forward.h"
 #include "third_party/blink/renderer/platform/wtf/functional.h"
 
 namespace blink {
diff --git a/third_party/blink/renderer/core/html/parser/preload_request.h b/third_party/blink/renderer/core/html/parser/preload_request.h
index ad64c70..afb88f9 100644
--- a/third_party/blink/renderer/core/html/parser/preload_request.h
+++ b/third_party/blink/renderer/core/html/parser/preload_request.h
@@ -8,8 +8,8 @@
 #include <memory>
 
 #include "base/memory/ptr_util.h"
-#include "third_party/blink/public/mojom/fetch/fetch_api_request.mojom-blink.h"
-#include "third_party/blink/public/mojom/script/script_type.mojom-blink.h"
+#include "third_party/blink/public/mojom/fetch/fetch_api_request.mojom-blink-forward.h"
+#include "third_party/blink/public/mojom/script/script_type.mojom-blink-forward.h"
 #include "third_party/blink/renderer/core/core_export.h"
 #include "third_party/blink/renderer/core/script/script.h"
 #include "third_party/blink/renderer/platform/loader/fetch/client_hints_preferences.h"
diff --git a/third_party/blink/renderer/core/inspector/inspector_resource_content_loader.cc b/third_party/blink/renderer/core/inspector/inspector_resource_content_loader.cc
index be2ced9..1fca67c 100644
--- a/third_party/blink/renderer/core/inspector/inspector_resource_content_loader.cc
+++ b/third_party/blink/renderer/core/inspector/inspector_resource_content_loader.cc
@@ -93,6 +93,18 @@
       resource_request.SetCacheMode(mojom::FetchCacheMode::kDefault);
     }
 
+    ResourceFetcher* fetcher = document->Fetcher();
+    if (base::FeatureList::IsEnabled(
+            features::kHtmlImportsRequestInitiatorLock)) {
+      // For @imports from HTML imported Documents, we use the
+      // context document for getting origin and ResourceFetcher to use the
+      // main Document's origin, while using the element document for
+      // CompleteURL() to use imported Documents' base URLs.
+      if (!document->ContextDocument()) {
+        continue;
+      }
+      fetcher = document->ContextDocument()->Fetcher();
+    }
     if (!resource_request.Url().GetString().IsEmpty()) {
       urls_to_fetch.insert(resource_request.Url().GetString());
       ResourceLoaderOptions options;
@@ -102,7 +114,7 @@
           MakeGarbageCollected<ResourceClient>(this);
       // Prevent garbage collection by holding a reference to this resource.
       resources_.push_back(
-          RawResource::Fetch(params, document->Fetcher(), resource_client));
+          RawResource::Fetch(params, fetcher, resource_client));
       pending_resource_clients_.insert(resource_client);
     }
 
@@ -122,18 +134,6 @@
       FetchParameters params(resource_request, options);
       ResourceClient* resource_client =
           MakeGarbageCollected<ResourceClient>(this);
-      ResourceFetcher* fetcher = document->Fetcher();
-      if (base::FeatureList::IsEnabled(
-              features::kHtmlImportsRequestInitiatorLock)) {
-        // For @imports from HTML imported Documents, we use the
-        // context document for getting origin and ResourceFetcher to use the
-        // main Document's origin, while using the element document for
-        // CompleteURL() to use imported Documents' base URLs.
-        if (!document->ContextDocument()) {
-          continue;
-        }
-        fetcher = document->ContextDocument()->Fetcher();
-      }
       // Prevent garbage collection by holding a reference to this resource.
       resources_.push_back(
           CSSStyleSheetResource::Fetch(params, fetcher, resource_client));
diff --git a/third_party/blink/renderer/core/inspector/thread_debugger.h b/third_party/blink/renderer/core/inspector/thread_debugger.h
index 7adb02f..5c6ee1385 100644
--- a/third_party/blink/renderer/core/inspector/thread_debugger.h
+++ b/third_party/blink/renderer/core/inspector/thread_debugger.h
@@ -7,7 +7,7 @@
 
 #include <memory>
 #include "base/macros.h"
-#include "third_party/blink/public/mojom/devtools/console_message.mojom-blink.h"
+#include "third_party/blink/public/mojom/devtools/console_message.mojom-blink-forward.h"
 #include "third_party/blink/renderer/core/core_export.h"
 #include "third_party/blink/renderer/core/dom/user_gesture_indicator.h"
 #include "third_party/blink/renderer/platform/bindings/v8_per_isolate_data.h"
diff --git a/third_party/blink/renderer/core/loader/alternate_signed_exchange_resource_info.cc b/third_party/blink/renderer/core/loader/alternate_signed_exchange_resource_info.cc
index 96ab51b7..ddc6ee5 100644
--- a/third_party/blink/renderer/core/loader/alternate_signed_exchange_resource_info.cc
+++ b/third_party/blink/renderer/core/loader/alternate_signed_exchange_resource_info.cc
@@ -7,6 +7,7 @@
 #include "net/http/http_request_headers.h"
 #include "third_party/blink/public/common/web_package/signed_exchange_consts.h"
 #include "third_party/blink/public/common/web_package/signed_exchange_request_matcher.h"
+#include "third_party/blink/public/mojom/fetch/fetch_api_request.mojom-blink.h"
 #include "third_party/blink/public/platform/web_url.h"
 #include "third_party/blink/renderer/platform/loader/fetch/resource.h"
 #include "third_party/blink/renderer/platform/loader/link_header.h"
diff --git a/third_party/blink/renderer/core/loader/alternate_signed_exchange_resource_info.h b/third_party/blink/renderer/core/loader/alternate_signed_exchange_resource_info.h
index c1fe8c0..1ecddf942 100644
--- a/third_party/blink/renderer/core/loader/alternate_signed_exchange_resource_info.h
+++ b/third_party/blink/renderer/core/loader/alternate_signed_exchange_resource_info.h
@@ -7,7 +7,7 @@
 
 #include "base/macros.h"
 #include "base/optional.h"
-#include "third_party/blink/public/mojom/fetch/fetch_api_request.mojom-blink.h"
+#include "third_party/blink/public/mojom/fetch/fetch_api_request.mojom-blink-forward.h"
 #include "third_party/blink/renderer/core/core_export.h"
 #include "third_party/blink/renderer/platform/weborigin/kurl.h"
 #include "third_party/blink/renderer/platform/weborigin/kurl_hash.h"
diff --git a/third_party/blink/renderer/core/loader/alternate_signed_exchange_resource_info_test.cc b/third_party/blink/renderer/core/loader/alternate_signed_exchange_resource_info_test.cc
index 9ac6dbb..e574556 100644
--- a/third_party/blink/renderer/core/loader/alternate_signed_exchange_resource_info_test.cc
+++ b/third_party/blink/renderer/core/loader/alternate_signed_exchange_resource_info_test.cc
@@ -6,6 +6,7 @@
 
 #include "base/macros.h"
 #include "testing/gtest/include/gtest/gtest.h"
+#include "third_party/blink/public/mojom/fetch/fetch_api_request.mojom-blink.h"
 #include "third_party/blink/renderer/platform/testing/runtime_enabled_features_test_helpers.h"
 
 namespace blink {
diff --git a/third_party/blink/renderer/core/loader/appcache/application_cache.h b/third_party/blink/renderer/core/loader/appcache/application_cache.h
index 2eb1d7944..cc2bb42e 100644
--- a/third_party/blink/renderer/core/loader/appcache/application_cache.h
+++ b/third_party/blink/renderer/core/loader/appcache/application_cache.h
@@ -26,7 +26,7 @@
 #ifndef THIRD_PARTY_BLINK_RENDERER_CORE_LOADER_APPCACHE_APPLICATION_CACHE_H_
 #define THIRD_PARTY_BLINK_RENDERER_CORE_LOADER_APPCACHE_APPLICATION_CACHE_H_
 
-#include "third_party/blink/public/mojom/appcache/appcache.mojom-blink.h"
+#include "third_party/blink/public/mojom/appcache/appcache.mojom-blink-forward.h"
 #include "third_party/blink/renderer/core/dom/events/event_target.h"
 #include "third_party/blink/renderer/core/execution_context/context_lifecycle_observer.h"
 #include "third_party/blink/renderer/platform/heap/handle.h"
diff --git a/third_party/blink/renderer/core/loader/appcache/application_cache_host.h b/third_party/blink/renderer/core/loader/appcache/application_cache_host.h
index 4137c1c..04f6e6a 100644
--- a/third_party/blink/renderer/core/loader/appcache/application_cache_host.h
+++ b/third_party/blink/renderer/core/loader/appcache/application_cache_host.h
@@ -39,8 +39,8 @@
 #include "mojo/public/cpp/bindings/remote.h"
 #include "third_party/blink/public/common/browser_interface_broker_proxy.h"
 #include "third_party/blink/public/mojom/appcache/appcache.mojom-blink.h"
-#include "third_party/blink/public/mojom/appcache/appcache_info.mojom-blink.h"
-#include "third_party/blink/public/mojom/devtools/console_message.mojom-blink.h"
+#include "third_party/blink/public/mojom/appcache/appcache_info.mojom-blink-forward.h"
+#include "third_party/blink/public/mojom/devtools/console_message.mojom-blink-forward.h"
 #include "third_party/blink/renderer/core/core_export.h"
 #include "third_party/blink/renderer/platform/heap/handle.h"
 #include "third_party/blink/renderer/platform/loader/fetch/resource_response.h"
diff --git a/third_party/blink/renderer/core/loader/base_fetch_context.h b/third_party/blink/renderer/core/loader/base_fetch_context.h
index 1f3fc31..31727917 100644
--- a/third_party/blink/renderer/core/loader/base_fetch_context.h
+++ b/third_party/blink/renderer/core/loader/base_fetch_context.h
@@ -6,7 +6,7 @@
 #define THIRD_PARTY_BLINK_RENDERER_CORE_LOADER_BASE_FETCH_CONTEXT_H_
 
 #include "base/optional.h"
-#include "services/network/public/mojom/referrer_policy.mojom-blink.h"
+#include "services/network/public/mojom/referrer_policy.mojom-blink-forward.h"
 #include "third_party/blink/public/platform/web_url_request.h"
 #include "third_party/blink/renderer/core/core_export.h"
 #include "third_party/blink/renderer/core/frame/csp/content_security_policy.h"
diff --git a/third_party/blink/renderer/core/loader/document_loader.h b/third_party/blink/renderer/core/loader/document_loader.h
index c2bb689..16f7642 100644
--- a/third_party/blink/renderer/core/loader/document_loader.h
+++ b/third_party/blink/renderer/core/loader/document_loader.h
@@ -35,7 +35,7 @@
 #include "base/optional.h"
 #include "base/unguessable_token.h"
 #include "mojo/public/cpp/base/big_buffer.h"
-#include "third_party/blink/public/mojom/loader/mhtml_load_result.mojom-blink.h"
+#include "third_party/blink/public/mojom/loader/mhtml_load_result.mojom-blink-forward.h"
 #include "third_party/blink/public/platform/scheduler/web_scoped_virtual_time_pauser.h"
 #include "third_party/blink/public/platform/web_loading_behavior_flag.h"
 #include "third_party/blink/public/platform/web_navigation_body_loader.h"
diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.h b/third_party/blink/renderer/core/loader/frame_fetch_context.h
index 245079b..419103e 100644
--- a/third_party/blink/renderer/core/loader/frame_fetch_context.h
+++ b/third_party/blink/renderer/core/loader/frame_fetch_context.h
@@ -34,7 +34,7 @@
 #include "base/optional.h"
 #include "base/single_thread_task_runner.h"
 #include "third_party/blink/public/common/user_agent/user_agent_metadata.h"
-#include "third_party/blink/public/mojom/service_worker/service_worker_object.mojom-blink.h"
+#include "third_party/blink/public/mojom/service_worker/service_worker_object.mojom-blink-forward.h"
 #include "third_party/blink/renderer/core/core_export.h"
 #include "third_party/blink/renderer/core/loader/base_fetch_context.h"
 #include "third_party/blink/renderer/platform/heap/handle.h"
diff --git a/third_party/blink/renderer/core/loader/frame_loader.h b/third_party/blink/renderer/core/loader/frame_loader.h
index 5a8882c..c3606acb 100644
--- a/third_party/blink/renderer/core/loader/frame_loader.h
+++ b/third_party/blink/renderer/core/loader/frame_loader.h
@@ -38,7 +38,7 @@
 #include "base/bind_helpers.h"
 #include "base/macros.h"
 #include "third_party/blink/public/common/user_agent/user_agent_metadata.h"
-#include "third_party/blink/public/mojom/loader/request_context_frame_type.mojom-blink.h"
+#include "third_party/blink/public/mojom/loader/request_context_frame_type.mojom-blink-forward.h"
 #include "third_party/blink/public/platform/scheduler/web_scoped_virtual_time_pauser.h"
 #include "third_party/blink/public/web/web_document_loader.h"
 #include "third_party/blink/public/web/web_frame_load_type.h"
diff --git a/third_party/blink/renderer/core/loader/importance_attribute.cc b/third_party/blink/renderer/core/loader/importance_attribute.cc
index d2a836df..d7632a20 100644
--- a/third_party/blink/renderer/core/loader/importance_attribute.cc
+++ b/third_party/blink/renderer/core/loader/importance_attribute.cc
@@ -3,6 +3,7 @@
 // found in the LICENSE file.
 
 #include "third_party/blink/renderer/core/loader/importance_attribute.h"
+#include "third_party/blink/public/mojom/fetch/fetch_api_request.mojom-blink.h"
 
 namespace blink {
 
diff --git a/third_party/blink/renderer/core/loader/importance_attribute.h b/third_party/blink/renderer/core/loader/importance_attribute.h
index 92f8aa2..a249c4e 100644
--- a/third_party/blink/renderer/core/loader/importance_attribute.h
+++ b/third_party/blink/renderer/core/loader/importance_attribute.h
@@ -5,7 +5,7 @@
 #ifndef THIRD_PARTY_BLINK_RENDERER_CORE_LOADER_IMPORTANCE_ATTRIBUTE_H_
 #define THIRD_PARTY_BLINK_RENDERER_CORE_LOADER_IMPORTANCE_ATTRIBUTE_H_
 
-#include "third_party/blink/public/mojom/fetch/fetch_api_request.mojom-blink.h"
+#include "third_party/blink/public/mojom/fetch/fetch_api_request.mojom-blink-forward.h"
 #include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"
 
 namespace blink {
diff --git a/third_party/blink/renderer/core/loader/link_load_parameters.cc b/third_party/blink/renderer/core/loader/link_load_parameters.cc
index 0bc29e5..b5fa4e9 100644
--- a/third_party/blink/renderer/core/loader/link_load_parameters.cc
+++ b/third_party/blink/renderer/core/loader/link_load_parameters.cc
@@ -4,6 +4,7 @@
 
 #include "third_party/blink/renderer/core/loader/link_load_parameters.h"
 
+#include "services/network/public/mojom/referrer_policy.mojom-blink.h"
 #include "third_party/blink/renderer/platform/loader/link_header.h"
 
 namespace blink {
diff --git a/third_party/blink/renderer/core/loader/link_load_parameters.h b/third_party/blink/renderer/core/loader/link_load_parameters.h
index ae698e0..88a98bc 100644
--- a/third_party/blink/renderer/core/loader/link_load_parameters.h
+++ b/third_party/blink/renderer/core/loader/link_load_parameters.h
@@ -7,7 +7,7 @@
 
 #include "base/optional.h"
 #include "base/unguessable_token.h"
-#include "services/network/public/mojom/referrer_policy.mojom-blink.h"
+#include "services/network/public/mojom/referrer_policy.mojom-blink-forward.h"
 #include "third_party/blink/renderer/core/core_export.h"
 #include "third_party/blink/renderer/core/html/cross_origin_attribute.h"
 #include "third_party/blink/renderer/core/html/link_rel_attribute.h"
diff --git a/third_party/blink/renderer/core/page/chrome_client_impl_test.cc b/third_party/blink/renderer/core/page/chrome_client_impl_test.cc
index a2e03c4..127fcc5 100644
--- a/third_party/blink/renderer/core/page/chrome_client_impl_test.cc
+++ b/third_party/blink/renderer/core/page/chrome_client_impl_test.cc
@@ -32,6 +32,7 @@
 #include "cc/trees/layer_tree_host.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "third_party/blink/public/common/feature_policy/feature_policy.h"
+#include "third_party/blink/public/mojom/choosers/color_chooser.mojom-blink.h"
 #include "third_party/blink/public/platform/web_input_event.h"
 #include "third_party/blink/public/web/web_local_frame.h"
 #include "third_party/blink/public/web/web_local_frame_client.h"
diff --git a/third_party/blink/renderer/core/page/page.cc b/third_party/blink/renderer/core/page/page.cc
index 35c1f53c..baa9827 100644
--- a/third_party/blink/renderer/core/page/page.cc
+++ b/third_party/blink/renderer/core/page/page.cc
@@ -996,17 +996,4 @@
 
 template class CORE_TEMPLATE_EXPORT Supplement<Page>;
 
-const char InternalSettingsPageSupplementStub::kSupplementName[] =
-    "InternalSettings";
-
-// static
-void Page::PrepareForLeakDetection() {
-  // Internal settings are ScriptWrappable and thus may retain documents
-  // depending on whether the garbage collector(s) are able to find the settings
-  // object through the Page supplement. Prepares for leak detection by removing
-  // all InternalSetting objects from Pages.
-  for (Page* page : OrdinaryPages())
-    page->RemoveSupplement<InternalSettingsPageSupplementStub>();
-}
-
 }  // namespace blink
diff --git a/third_party/blink/renderer/core/page/page.h b/third_party/blink/renderer/core/page/page.h
index 2c4afb6..0f17c421 100644
--- a/third_party/blink/renderer/core/page/page.h
+++ b/third_party/blink/renderer/core/page/page.h
@@ -335,8 +335,6 @@
   }
   void ClearMediaFeatureOverrides();
 
-  static void PrepareForLeakDetection();
-
  private:
   friend class ScopedPagePauser;
 
@@ -452,12 +450,6 @@
 
 extern template class CORE_EXTERN_TEMPLATE_EXPORT Supplement<Page>;
 
-class CORE_EXPORT InternalSettingsPageSupplementStub : public Supplement<Page> {
- public:
-  using Supplement<Page>::Supplement;
-  static const char kSupplementName[];
-};
-
 }  // namespace blink
 
 #endif  // THIRD_PARTY_BLINK_RENDERER_CORE_PAGE_PAGE_H_
diff --git a/third_party/blink/renderer/core/paint/compositing/composited_layer_mapping.cc b/third_party/blink/renderer/core/paint/compositing/composited_layer_mapping.cc
index 76ff1483..92b82f0 100644
--- a/third_party/blink/renderer/core/paint/compositing/composited_layer_mapping.cc
+++ b/third_party/blink/renderer/core/paint/compositing/composited_layer_mapping.cc
@@ -458,13 +458,6 @@
       owning_layer_.GetSquashingDisallowedReasons());
 }
 
-const PaintLayer* CompositedLayerMapping::CompositedClipParent() const {
-  const PaintLayer* clip_parent = owning_layer_.ClipParent();
-  return clip_parent ? clip_parent->EnclosingLayerWithCompositedLayerMapping(
-                           kIncludeSelf)
-                     : nullptr;
-}
-
 bool CompositedLayerMapping::UpdateGraphicsLayerConfiguration(
     const PaintLayer* compositing_container) {
   DCHECK_EQ(owning_layer_.Compositor()->Lifecycle().GetState(),
diff --git a/third_party/blink/renderer/core/paint/compositing/composited_layer_mapping.h b/third_party/blink/renderer/core/paint/compositing/composited_layer_mapping.h
index 4f3974d..18ab08e 100644
--- a/third_party/blink/renderer/core/paint/compositing/composited_layer_mapping.h
+++ b/third_party/blink/renderer/core/paint/compositing/composited_layer_mapping.h
@@ -221,8 +221,6 @@
   // We may similarly need to reattach the layer for outlines and decorations.
   GraphicsLayer* DetachLayerForDecorationOutline();
 
-  void UpdateBackdropFilters();
-
   void SetBlendMode(BlendMode);
 
   bool NeedsGraphicsLayerUpdate() {
@@ -259,8 +257,6 @@
       const LayoutObject*,
       unsigned max_squashed_layer_index);
 
-  void UpdateScrollingBlockSelection();
-
   // Returns whether an adjustment happend.
   bool AdjustForCompositedScrolling(const GraphicsLayer*,
                                     IntSize& offset) const;
@@ -367,7 +363,6 @@
   bool UpdateSquashingLayers(bool needs_squashing_layers);
   void UpdateDrawsContentAndPaintsHitTest();
   void UpdateCompositedBounds();
-  void UpdateSnapContainerData();
 
   // Also sets subpixelAccumulation on the layer.
   void ComputeBoundsOfOwningLayer(
@@ -422,9 +417,6 @@
       const Vector<GraphicsLayerPaintInfo>& layers,
       GraphicsLayerPaintInfo&);
 
-  const PaintLayer* CompositedClipParent() const;
-  void UpdateClipInheritanceAncestor(const PaintLayer* compositing_container);
-
   // Clear the groupedMapping entry on the layer at the given index, only if
   // that layer does not appear earlier in the set of layers for this object.
   bool InvalidateLayerIfNoPrecedingEntry(wtf_size_t);
diff --git a/third_party/blink/renderer/core/paint/pre_paint_tree_walk.cc b/third_party/blink/renderer/core/paint/pre_paint_tree_walk.cc
index 1d2e5f3..702a1a8 100644
--- a/third_party/blink/renderer/core/paint/pre_paint_tree_walk.cc
+++ b/third_party/blink/renderer/core/paint/pre_paint_tree_walk.cc
@@ -392,6 +392,17 @@
   CompositingLayerPropertyUpdater::Update(object);
 }
 
+LocalFrameView* FindWebViewPluginContentFrameView(
+    const LayoutEmbeddedContent& embedded_content) {
+  for (Frame* frame = embedded_content.GetFrame()->Tree().FirstChild(); frame;
+       frame = frame->Tree().NextSibling()) {
+    if (frame->IsLocalFrame() &&
+        To<LocalFrame>(frame)->OwnerLayoutObject() == &embedded_content)
+      return To<LocalFrame>(frame)->View();
+  }
+  return nullptr;
+}
+
 void PrePaintTreeWalk::Walk(const LayoutObject& object) {
   // We need to be careful not to have a reference to the parent context, since
   // this reference will be to the context_storage_ memory which may be
@@ -470,18 +481,26 @@
     if (object.IsLayoutEmbeddedContent()) {
       const LayoutEmbeddedContent& layout_embedded_content =
           ToLayoutEmbeddedContent(object);
-      FrameView* frame_view = layout_embedded_content.ChildFrameView();
-      if (auto* local_frame_view = DynamicTo<LocalFrameView>(frame_view)) {
+      if (auto* embedded_view =
+              layout_embedded_content.GetEmbeddedContentView()) {
         if (context().tree_builder_context) {
           auto& offset =
               context().tree_builder_context->fragments[0].current.paint_offset;
           offset += layout_embedded_content.ReplacedContentRect().offset;
-          offset -= PhysicalOffset(local_frame_view->FrameRect().Location());
+          offset -= PhysicalOffset(embedded_view->FrameRect().Location());
           offset = PhysicalOffset(RoundedIntPoint(offset));
         }
-        Walk(*local_frame_view);
+        if (embedded_view->IsLocalFrameView()) {
+          Walk(*To<LocalFrameView>(embedded_view));
+        } else if (embedded_view->IsPluginView()) {
+          // If it is a webview plugin, walk into the content frame view.
+          if (auto* plugin_content_frame_view =
+                  FindWebViewPluginContentFrameView(layout_embedded_content))
+            Walk(*plugin_content_frame_view);
+        } else {
+          // We need to do nothing for RemoteFrameView. See crbug.com/579281.
+        }
       }
-      // TODO(pdr): Investigate RemoteFrameView (crbug.com/579281).
     }
 
     object.NotifyDisplayLockDidPrePaint(DisplayLockLifecycleTarget::kChildren);
diff --git a/third_party/blink/renderer/core/script/pending_script.cc b/third_party/blink/renderer/core/script/pending_script.cc
index 5fefbfc..2a353a8 100644
--- a/third_party/blink/renderer/core/script/pending_script.cc
+++ b/third_party/blink/renderer/core/script/pending_script.cc
@@ -59,6 +59,7 @@
       starting_position_(starting_position),
       virtual_time_pauser_(CreateWebScopedVirtualTimePauser(element)),
       client_(nullptr),
+      original_element_document_(&element->GetDocument()),
       original_context_document_(element->GetDocument().ContextDocument()),
       created_during_document_write_(
           element->GetDocument().IsInDocumentWrite()) {}
@@ -152,6 +153,17 @@
                       WebFeature::kEvaluateScriptMovedBetweenDocuments);
   }
 
+  if (OriginalContextDocument() == context_document &&
+      original_element_document_ != &element_->GetDocument()) {
+    // Count how many scripts are moved between element Documents under the same
+    // context Document, to investigate the feasibility of stopping execution of
+    // such scripts. https://crbug.com/721914
+    UseCounter::Count(context_document,
+                      WebFeature::kEvaluateScriptMovedBetweenElementDocuments);
+    Dispose();
+    return;
+  }
+
   Script* script = GetSource(document_url);
 
   const bool was_canceled = WasCanceled();
@@ -291,6 +303,7 @@
   visitor->Trace(element_);
   visitor->Trace(client_);
   visitor->Trace(original_context_document_);
+  visitor->Trace(original_element_document_);
 }
 
 bool PendingScript::IsControlledByScriptRunner() const {
diff --git a/third_party/blink/renderer/core/script/pending_script.h b/third_party/blink/renderer/core/script/pending_script.h
index f3f0c97..2b58285 100644
--- a/third_party/blink/renderer/core/script/pending_script.h
+++ b/third_party/blink/renderer/core/script/pending_script.h
@@ -167,9 +167,10 @@
   WebScopedVirtualTimePauser virtual_time_pauser_;
   Member<PendingScriptClient> client_;
 
-  // The context document at the time when PrepareScript() is executed.
-  // This is only used to check whether the script element is moved between
-  // documents and thus doesn't retain a strong reference.
+  // The context/element document at the time when PrepareScript() is executed.
+  // These are only used to check whether the script element is moved between
+  // documents and thus don't retain a strong references.
+  WeakMember<Document> original_element_document_;
   WeakMember<Document> original_context_document_;
 
   const bool created_during_document_write_;
diff --git a/third_party/blink/renderer/core/svg/animation/smil_time_container.cc b/third_party/blink/renderer/core/svg/animation/smil_time_container.cc
index ee62347..50f289d 100644
--- a/third_party/blink/renderer/core/svg/animation/smil_time_container.cc
+++ b/third_party/blink/renderer/core/svg/animation/smil_time_container.cc
@@ -68,6 +68,7 @@
       paused_(false),
       document_order_indexes_dirty_(false),
       intervals_dirty_(true),
+      is_updating_intervals_(false),
       wakeup_timer_(
           owner.GetDocument().GetTaskRunner(TaskType::kInternalDefault),
           this,
@@ -141,6 +142,11 @@
 }
 
 void SMILTimeContainer::ScheduleIntervalUpdate() {
+  // We're inside a call to UpdateIntervals() (or resetting the timeline), so
+  // we don't need to request an update - that will happen after the regular
+  // update has finished (if needed).
+  if (is_updating_intervals_)
+    return;
   if (!IsStarted())
     return;
   // Schedule UpdateAnimations...() to be called asynchronously so multiple
@@ -270,6 +276,8 @@
     SynchronizeToDocumentTimeline();
 
   {
+    base::AutoReset<bool> updating_intervals_scope(&is_updating_intervals_,
+                                                   true);
     ScheduledAnimationsMutationsForbidden scope(this);
     for (auto& sandwich : scheduled_animations_.Values())
       sandwich->Reset();
@@ -427,6 +435,7 @@
 void SMILTimeContainer::UpdateAnimationsAndScheduleFrameIfNeeded(
     SMILTime elapsed) {
   DCHECK(GetDocument().IsActive());
+  DCHECK(!wakeup_timer_.IsActive());
 
   UpdateAnimationTimings(elapsed);
   ApplyAnimationValues(elapsed);
@@ -438,6 +447,7 @@
     if (next_progress_time <= elapsed)
       break;
   }
+  DCHECK(!wakeup_timer_.IsActive());
 
   if (!CanScheduleFrame(next_progress_time))
     return;
@@ -475,6 +485,8 @@
 void SMILTimeContainer::UpdateIntervals(SMILTime document_time) {
   DCHECK(document_time.IsFinite());
   DCHECK_GE(document_time, SMILTime());
+
+  base::AutoReset<bool> updating_intervals_scope(&is_updating_intervals_, true);
   do {
     intervals_dirty_ = false;
 
diff --git a/third_party/blink/renderer/core/svg/animation/smil_time_container.h b/third_party/blink/renderer/core/svg/animation/smil_time_container.h
index 772ab15..a562778 100644
--- a/third_party/blink/renderer/core/svg/animation/smil_time_container.h
+++ b/third_party/blink/renderer/core/svg/animation/smil_time_container.h
@@ -139,11 +139,12 @@
   base::TimeDelta reference_time_;
 
   FrameSchedulingState frame_scheduling_state_;
-  bool started_;  // The timeline has been started.
-  bool paused_;   // The timeline is paused.
+  bool started_ : 1;  // The timeline has been started.
+  bool paused_ : 1;   // The timeline is paused.
 
-  bool document_order_indexes_dirty_;
-  bool intervals_dirty_;
+  bool document_order_indexes_dirty_ : 1;
+  bool intervals_dirty_ : 1;
+  bool is_updating_intervals_;
 
   TaskRunnerTimer<SMILTimeContainer> wakeup_timer_;
   TaskRunnerTimer<SMILTimeContainer> animation_policy_once_timer_;
@@ -167,6 +168,7 @@
 #endif
   }
 };
+
 }  // namespace blink
 
 #endif  // THIRD_PARTY_BLINK_RENDERER_CORE_SVG_ANIMATION_SMIL_TIME_CONTAINER_H_
diff --git a/third_party/blink/renderer/core/testing/internal_settings.cc b/third_party/blink/renderer/core/testing/internal_settings.cc
index b2ff3ca..5bc63b34 100644
--- a/third_party/blink/renderer/core/testing/internal_settings.cc
+++ b/third_party/blink/renderer/core/testing/internal_settings.cc
@@ -115,12 +115,13 @@
   }
   return supplement;
 }
+const char InternalSettings::kSupplementName[] = "InternalSettings";
 
 InternalSettings::~InternalSettings() = default;
 
 InternalSettings::InternalSettings(Page& page)
     : InternalSettingsGenerated(&page),
-      InternalSettingsPageSupplementStub(page),
+      Supplement<Page>(page),
       backup_(&page.GetSettings()) {}
 
 void InternalSettings::ResetToConsistentState() {
@@ -548,4 +549,12 @@
   GetSettings()->SetAutoplayPolicy(policy);
 }
 
+void InternalSettings::PrepareForLeakDetection() {
+  // Prepares for leak detection by removing all InternalSetting objects from
+  // Pages.
+  for (Page* page : Page::OrdinaryPages()) {
+    page->RemoveSupplement<InternalSettings>();
+  }
+}
+
 }  // namespace blink
diff --git a/third_party/blink/renderer/core/testing/internal_settings.h b/third_party/blink/renderer/core/testing/internal_settings.h
index d18b805..ac61b195b 100644
--- a/third_party/blink/renderer/core/testing/internal_settings.h
+++ b/third_party/blink/renderer/core/testing/internal_settings.h
@@ -44,11 +44,15 @@
 class Settings;
 
 class InternalSettings final : public InternalSettingsGenerated,
-                               public InternalSettingsPageSupplementStub {
+                               public Supplement<Page> {
   USING_GARBAGE_COLLECTED_MIXIN(InternalSettings);
   DEFINE_WRAPPERTYPEINFO();
 
  public:
+  static const char kSupplementName[];
+
+  static void PrepareForLeakDetection();
+
   class Backup {
     DISALLOW_NEW();
 
diff --git a/third_party/blink/renderer/core/workers/README.md b/third_party/blink/renderer/core/workers/README.md
index 8e1d5616..dacae19 100644
--- a/third_party/blink/renderer/core/workers/README.md
+++ b/third_party/blink/renderer/core/workers/README.md
@@ -79,7 +79,97 @@
 (e.g. classic workers), the worker scripts are fetched on the main thread and
 thus WorkerOrWorkletGlobalScope and the worker thread are not involved.
 
+# Metrics
+
+## UseCounter
+
+[UseCounter](https://cs.chromium.org/chromium/src/third_party/blink/renderer/platform/instrumentation/use_counter.h)
+is available in all workers and worklets. The count mechanism varies based on
+worker and worklet types as follows.
+
+- Dedicated Workers and Worklets: A feature use in a dedicated worker or worklet
+is propagated to the parent document, and then recorded in the document's
+UseCounter. For nested dedicated workers, a feature use is propagated up to the
+ancestor document via parent workers.
+- Shared Workers: A feature use in a shared worker is propagated to all
+documents connected to the shared worker via mojo calls, and then recorded in
+their UseCounter.
+- Service Workers: A feature use in a service worker is propagated to all
+documents and workers being controlled by the service worker via mojo calls, and
+then recorded in their UseCounter. When a feature use occurs before the service
+worker finishes installing, the feature use is stored in service worker storage.
+It is read whenever the installed service worker is started. See
+[content/browser/service_worker/README.md](/content/browser/service_worker/README.md)
+for details.
+
+`WorkerOrWorkletGlobalScope::CountUse()` is the common entry point. For more
+details, see [Design of UseCounter for
+workers](https://docs.google.com/document/d/1VyYZnhjBdk-MzCRAcX37TM5-yjwTY40U_J9rWnEAo8c/edit?usp=sharing)
+and [crbug 376039](https://bugs.chromium.org/p/chromium/issues/detail?id=376039).
+
+There are some fundamental metrics.
+
+- [WorkerStart](https://www.chromestatus.com/metrics/feature/timeline/popularity/4)
+: Counts of `new DedicatedWorker()` calls in `Document` and
+`DedicatedWorkerGlobalScope`.
+- [NestedDedicatedWorker](https://www.chromestatus.com/metrics/feature/timeline/popularity/2499)
+: Counts of `new DedicatedWorker()` calls in `DedicatedWorkerGlobalScope`.
+- [SharedWorkerStart](https://www.chromestatus.com/metrics/feature/timeline/popularity/5)
+: Counts of `new SharedWorker()` calls in `Document`.
+- [WorkletAddModule](https://www.chromestatus.com/metrics/feature/timeline/popularity/2364)
+: Counts of `Worklet#addModule()` calls in `Document`. This includes all worklet
+types. Each worklet type has its own counter, too.
+
+## UMA
+
+The UMA data is internal-only.
+
+- WorkerThread.ExitCode : Records the exit code of `WorkerThread`.
+
+# Tests
+
+When you add a new worker or worklet type, please consider adding tests in
+following files and directories to check integration with the underlying worker
+and worklet infrastructure.
+
+- Web Platform Tests
+  - [workers/](https://cs.chromium.org/chromium/src/third_party/blink/web_tests/external/wpt/workers/)
+  - [worklets/](https://cs.chromium.org/chromium/src/third_party/blink/web_tests/external/wpt/worklets/)
+- Web tests
+  - [webexposed/](https://cs.chromium.org/chromium/src/third_party/blink/web_tests/webexposed/)
+  - [workers/](https://cs.chromium.org/chromium/src/third_party/blink/web_tests/http/tests/workers/)
+  - [worklet/](https://cs.chromium.org/chromium/src/third_party/blink/web_tests/http/tests/worklet/)
+- Unit tests
+  - [content/browser/worker_host/](https://cs.chromium.org/chromium/src/content/browser/worker_host/)
+  - [content/renderer/worker/](https://cs.chromium.org/chromium/src/content/renderer/worker/)
+  - [third_party/blink/renderer/core/workers/](https://cs.chromium.org/chromium/src/third_party/blink/renderer/core/workers/)
+- Browser tests
+  - [chrome/browser/chrome_worker_browsertest.cc](https://cs.chromium.org/chromium/src/chrome/browser/chrome_worker_browsertest.cc)
+  - [content/browser/worker_host/worker_browsertest.cc](https://cs.chromium.org/chromium/src/content/browser/worker_host/worker_browsertest.cc)
+
+Workers and worklets interact with various features. You should also add tests
+in the following files and directories to avoid breakage.
+
+- Web Platform Tests
+  - [content-security-policy/](https://cs.chromium.org/chromium/src/third_party/blink/web_tests/external/wpt/content-security-policy/)
+  - [fetch/](https://cs.chromium.org/chromium/src/third_party/blink/web_tests/external/wpt/fetch/)
+  - [mixed-content/](https://cs.chromium.org/chromium/src/third_party/blink/web_tests/external/wpt/mixed-content/)
+  - [performance-timeline/](https://cs.chromium.org/chromium/src/third_party/blink/web_tests/external/wpt/performance-timeline/)
+  - [referrer-policy/](https://cs.chromium.org/chromium/src/third_party/blink/web_tests/external/wpt/referrer-policy/)
+  - [resource-timing/](https://cs.chromium.org/chromium/src/third_party/blink/web_tests/external/wpt/resource-timing/)
+  - [secure-contexts/](https://cs.chromium.org/chromium/src/third_party/blink/web_tests/external/wpt/secure-contexts/)
+  - [service-workers/service-worker/](https://cs.chromium.org/chromium/src/third_party/blink/web_tests/external/wpt/service-workers/service-worker/)
+  - [upgrade-insecure-requests/](https://cs.chromium.org/chromium/src/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/)
+  - [websockets/](https://cs.chromium.org/chromium/src/third_party/blink/web_tests/external/wpt/websockets/)
+- Browser tests
+  - [chrome/browser/chrome_do_not_track_browsertest.cc](https://cs.chromium.org/chromium/src/chrome/browser/chrome_do_not_track_browsertest.cc)
+  - [chrome/browser/chrome_worker_browsertest.cc](https://cs.chromium.org/chromium/src/chrome/browser/chrome_worker_browsertest.cc)
+  - [chrome/browser/extensions/api/web_request/web_request_apitest.cc](https://cs.chromium.org/chromium/src/chrome/browser/extensions/api/web_request/web_request_apitest.cc)
+  - [chrome/browser/ssl/ssl_browsertest.cc](https://cs.chromium.org/chromium/src/chrome/browser/ssl/ssl_browsertest.cc)
+  - [chrome/browser/subresource_filter/subresource_filter_browsertest.cc](https://cs.chromium.org/chromium/src/chrome/browser/subresource_filter/subresource_filter_browsertest.cc)
+
 # References
 
 - [WorkerGlobalScope Initialization](https://docs.google.com/document/d/1JCv8TD2nPLNC2iRCp_D1OM4I3uTS0HoEobuTymaMqgw/edit?usp=sharing) (April 1, 2019)
 - [Worker / Worklet Internals](https://docs.google.com/presentation/d/1GZJ3VnLIO_Pw0jr9nRw6_-trg68ol-AkliMxJ6jo6Bo/edit?usp=sharing) (April 19, 2018)
+- [Design of UseCounter for workers](https://docs.google.com/document/d/1VyYZnhjBdk-MzCRAcX37TM5-yjwTY40U_J9rWnEAo8c/edit?usp=sharing) (Feb 14, 2017)
diff --git a/third_party/blink/renderer/core/workers/dedicated_worker.cc b/third_party/blink/renderer/core/workers/dedicated_worker.cc
index 560e788f..73c8c4b 100644
--- a/third_party/blink/renderer/core/workers/dedicated_worker.cc
+++ b/third_party/blink/renderer/core/workers/dedicated_worker.cc
@@ -15,6 +15,7 @@
 #include "third_party/blink/public/mojom/script/script_type.mojom-blink.h"
 #include "third_party/blink/public/mojom/worker/dedicated_worker_host_factory.mojom-blink.h"
 #include "third_party/blink/public/platform/web_content_settings_client.h"
+#include "third_party/blink/public/platform/web_fetch_client_settings_object.h"
 #include "third_party/blink/renderer/bindings/core/v8/serialization/post_message_helper.h"
 #include "third_party/blink/renderer/core/dom/document.h"
 #include "third_party/blink/renderer/core/events/message_event.h"
@@ -246,9 +247,7 @@
         credentials_mode,
         WebSecurityOrigin(
             outside_fetch_client_settings_object_->GetSecurityOrigin()),
-        outside_fetch_client_settings_object_->GetReferrerPolicy(),
-        KURL(outside_fetch_client_settings_object_->GetOutgoingReferrer()),
-        outside_fetch_client_settings_object_->GetInsecureRequestsPolicy(),
+        WebFetchClientSettingsObject(*outside_fetch_client_settings_object_),
         blob_url_token.PassPipe());
     // Continue in OnScriptLoadStarted() or OnScriptLoadStartFailed().
     return;
diff --git a/third_party/blink/renderer/devtools/front_end/sdk/Script.js b/third_party/blink/renderer/devtools/front_end/sdk/Script.js
index fb33db5..f3501c1d 100644
--- a/third_party/blink/renderer/devtools/front_end/sdk/Script.js
+++ b/third_party/blink/renderer/devtools/front_end/sdk/Script.js
@@ -84,11 +84,11 @@
     if (sourceURLLineIndex === -1) {
       return source;
     }
-    const sourceURLLine = source.substr(sourceURLLineIndex + 1).split('\n', 1)[0];
-    if (sourceURLLine.search(SDK.Script.sourceURLRegex) === -1) {
+    const sourceURLLine = source.substr(sourceURLLineIndex + 1);
+    if (!sourceURLLine.match(SDK.Script.sourceURLRegex)) {
       return source;
     }
-    return source.substr(0, sourceURLLineIndex) + source.substr(sourceURLLineIndex + sourceURLLine.length + 1);
+    return source.substr(0, sourceURLLineIndex);
   }
 
   /**
@@ -280,4 +280,4 @@
   }
 };
 
-SDK.Script.sourceURLRegex = /^[\040\t]*\/\/[@#] sourceURL=\s*(\S*?)\s*$/m;
+SDK.Script.sourceURLRegex = /^[\040\t]*\/\/[@#] sourceURL=\s*(\S*?)\s*$/;
diff --git a/third_party/blink/renderer/modules/compression/OWNERS b/third_party/blink/renderer/modules/compression/OWNERS
new file mode 100644
index 0000000..b63f881
--- /dev/null
+++ b/third_party/blink/renderer/modules/compression/OWNERS
@@ -0,0 +1,5 @@
+yhirano@chromium.org
+ricea@chromium.org
+
+# TEAM: blink-network-dev@chromium.org
+# COMPONENT: Blink>Network>StreamsAPI
diff --git a/third_party/blink/renderer/modules/compression/inflate_transformer.cc b/third_party/blink/renderer/modules/compression/inflate_transformer.cc
index ea6b1cf..4dc0dce 100644
--- a/third_party/blink/renderer/modules/compression/inflate_transformer.cc
+++ b/third_party/blink/renderer/modules/compression/inflate_transformer.cc
@@ -4,6 +4,7 @@
 #include <algorithm>
 #include <limits>
 
+#include "third_party/blink/renderer/bindings/core/v8/array_buffer_or_array_buffer_view.h"
 #include "third_party/blink/renderer/bindings/core/v8/v8_binding_for_core.h"
 #include "third_party/blink/renderer/bindings/core/v8/v8_uint8_array.h"
 #include "third_party/blink/renderer/core/streams/transform_stream_default_controller_interface.h"
@@ -11,7 +12,6 @@
 #include "third_party/blink/renderer/core/typed_arrays/array_buffer_view_helpers.h"
 #include "third_party/blink/renderer/platform/bindings/exception_state.h"
 #include "third_party/blink/renderer/platform/bindings/to_v8.h"
-
 #include "v8/include/v8.h"
 
 namespace blink {
@@ -44,43 +44,47 @@
     v8::Local<v8::Value> chunk,
     TransformStreamDefaultControllerInterface* controller,
     ExceptionState& exception_state) {
-  // TODO(canonmukai): Change to MaybeShared<DOMUint8Array>
-  // when we are ready to support SharedArrayBuffer.
-  NotShared<DOMUint8Array> chunk_data = ToNotShared<NotShared<DOMUint8Array>>(
-      script_state_->GetIsolate(), chunk, exception_state);
+  // TODO(canonmukai): Support SharedArrayBuffer.
+  ArrayBufferOrArrayBufferView buffer_source;
+  V8ArrayBufferOrArrayBufferView::ToImpl(
+      script_state_->GetIsolate(), chunk, buffer_source,
+      UnionTypeConversionMode::kNotNullable, exception_state);
   if (exception_state.HadException()) {
     return;
   }
-  if (!chunk_data) {
-    exception_state.ThrowTypeError("chunk is not of type Uint8Array.");
+  if (buffer_source.IsArrayBufferView()) {
+    const auto* view = buffer_source.GetAsArrayBufferView().View();
+    const Bytef* start = static_cast<const Bytef*>(view->BaseAddress());
+    wtf_size_t length = view->byteLength();
+    Inflate(start, length, IsFinished(false), controller, exception_state);
     return;
   }
-
-  Inflate(chunk_data.View(), IsFinished(false), controller, exception_state);
+  DCHECK(buffer_source.IsArrayBuffer());
+  const auto* array_buffer = buffer_source.GetAsArrayBuffer();
+  const uint8_t* start = static_cast<const Bytef*>(array_buffer->Data());
+  wtf_size_t length = array_buffer->ByteLength();
+  Inflate(start, length, IsFinished(false), controller, exception_state);
 }
 
 void InflateTransformer::Flush(
     TransformStreamDefaultControllerInterface* controller,
     ExceptionState& exception_state) {
   DCHECK(!was_flush_called_);
-  Inflate(nullptr, IsFinished(true), controller, exception_state);
+  Inflate(nullptr, 0u, IsFinished(true), controller, exception_state);
   inflateEnd(&stream_);
   was_flush_called_ = true;
 }
 
 void InflateTransformer::Inflate(
-    const DOMUint8Array* data,
+    const Bytef* start,
+    wtf_size_t length,
     IsFinished finished,
     TransformStreamDefaultControllerInterface* controller,
     ExceptionState& exception_state) {
   unsigned int out_buffer_size = static_cast<unsigned int>(kBufferSize);
-  if (data) {
-    stream_.avail_in = data->length();
-    stream_.next_in = data->DataMaybeShared();
-  } else {
-    stream_.avail_in = 0;
-    stream_.next_in = nullptr;
-  }
+  stream_.avail_in = length;
+  // Zlib treats this pointer as const, so this cast is safe.
+  stream_.next_in = const_cast<Bytef*>(start);
 
   do {
     stream_.avail_out = out_buffer_size;
diff --git a/third_party/blink/renderer/modules/compression/inflate_transformer.h b/third_party/blink/renderer/modules/compression/inflate_transformer.h
index 4a44efd..39535e2c 100644
--- a/third_party/blink/renderer/modules/compression/inflate_transformer.h
+++ b/third_party/blink/renderer/modules/compression/inflate_transformer.h
@@ -31,7 +31,8 @@
  private:
   using IsFinished = util::StrongAlias<class IsFinishedTag, bool>;
 
-  void Inflate(const DOMUint8Array* data,
+  void Inflate(const Bytef*,
+               wtf_size_t,
                IsFinished,
                TransformStreamDefaultControllerInterface*,
                ExceptionState&);
diff --git a/third_party/blink/renderer/modules/exported/BUILD.gn b/third_party/blink/renderer/modules/exported/BUILD.gn
index bcd3ab5..77551bb 100644
--- a/third_party/blink/renderer/modules/exported/BUILD.gn
+++ b/third_party/blink/renderer/modules/exported/BUILD.gn
@@ -23,8 +23,6 @@
 }
 
 static_library("test_support") {
-  testonly = true
-
   deps = [
     "//skia",
     "//third_party/blink/renderer/core:testing",
diff --git a/third_party/blink/renderer/modules/mediastream/user_media_processor.cc b/third_party/blink/renderer/modules/mediastream/user_media_processor.cc
index b23c96f2..878abd6 100644
--- a/third_party/blink/renderer/modules/mediastream/user_media_processor.cc
+++ b/third_party/blink/renderer/modules/mediastream/user_media_processor.cc
@@ -516,6 +516,11 @@
   DCHECK(!current_request_info_);
   request_completed_cb_ = std::move(callback);
   current_request_info_ = MakeGarbageCollected<RequestInfo>(std::move(request));
+  blink::WebRtcLogMessage(base::StringPrintf(
+      "UMP::ProcessRequest. request_id = %d. Has audio = %d. Has video = %d.",
+      current_request_info_->request_id(),
+      current_request_info_->request()->web_request.Audio(),
+      current_request_info_->request()->web_request.Video()));
   // TODO(guidou): Set up audio and video in parallel.
   if (current_request_info_->web_request().Audio()) {
     SetupAudioInput();
@@ -528,6 +533,14 @@
   DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
   DCHECK(current_request_info_);
   DCHECK(current_request_info_->web_request().Audio());
+  blink::WebRtcLogMessage(base::StringPrintf(
+      "UMP::SetupAudioInput. request_id = %d, audio constraints = %s",
+      current_request_info_->request_id(),
+      current_request_info_->request()
+          ->web_request.AudioConstraints()
+          .ToString()
+          .Utf8()
+          .c_str()));
 
   auto& audio_controls = current_request_info_->stream_controls()->audio;
   InitializeAudioTrackControls(current_request_info_->web_request(),
@@ -540,6 +553,10 @@
   }
 
   if (blink::IsDeviceMediaType(audio_controls.stream_type)) {
+    blink::WebRtcLogMessage(
+        base::StringPrintf("UMP::SetupAudioInput. request_id = %d, "
+                           "Requesting device capabilities",
+                           current_request_info_->request_id()));
     GetMediaDevicesDispatcher()->GetAudioInputCapabilities(WTF::Bind(
         &UserMediaProcessor::SelectAudioDeviceSettings,
         WrapWeakPersistent(this), current_request_info_->web_request()));
@@ -605,6 +622,9 @@
     return;
 
   DCHECK(current_request_info_->stream_controls()->audio.requested);
+  blink::WebRtcLogMessage(
+      base::StringPrintf("UMP::SelectAudioSettings. request_id = %d.",
+                         current_request_info_->request_id()));
   auto settings = SelectSettingsAudioCapture(
       capabilities, web_request.AudioConstraints(),
       web_request.ShouldDisableHardwareNoiseSuppression(),
@@ -681,6 +701,14 @@
                               : StreamSelectionStrategy::FORCE_NEW_STREAM);
     return;
   }
+  blink::WebRtcLogMessage(base::StringPrintf(
+      "UMP::SetupVideoInput. request_id = %d, video constraints = %s",
+      current_request_info_->request_id(),
+      current_request_info_->request()
+          ->web_request.VideoConstraints()
+          .ToString()
+          .Utf8()
+          .c_str()));
 
   auto& video_controls = current_request_info_->stream_controls()->video;
   InitializeVideoTrackControls(current_request_info_->web_request(),
@@ -719,6 +747,9 @@
   DCHECK(current_request_info_->stream_controls()->video.requested);
   DCHECK(blink::IsDeviceMediaType(
       current_request_info_->stream_controls()->video.stream_type));
+  blink::WebRtcLogMessage(
+      base::StringPrintf("UMP::SelectVideoDeviceSettings. request_id = %d.",
+                         current_request_info_->request_id()));
 
   blink::VideoDeviceCaptureCapabilities capabilities;
   capabilities.device_capabilities =
@@ -760,6 +791,9 @@
 void UserMediaProcessor::SelectVideoContentSettings() {
   DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
   DCHECK(current_request_info_);
+  blink::WebRtcLogMessage(
+      base::StringPrintf("UMP::SelectVideoContentSettings. request_id = %d.",
+                         current_request_info_->request_id()));
   gfx::Size screen_size = GetScreenSize();
   blink::VideoCaptureSettings settings =
       blink::SelectSettingsVideoContentCapture(
@@ -791,7 +825,7 @@
   DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
   DCHECK(current_request_info_);
   blink::WebRtcLogMessage(base::StringPrintf(
-      "UMCI::GenerateStreamForCurrentRequestInfo. request_id=%d, "
+      "UMP::GenerateStreamForCurrentRequestInfo. request_id=%d, "
       "audio device id=\"%s\", video device id=\"%s\"",
       current_request_info_->request_id(),
       current_request_info_->stream_controls()->audio.device_id.c_str(),
@@ -837,7 +871,6 @@
     const Vector<MediaStreamDevice>& audio_devices,
     const Vector<MediaStreamDevice>& video_devices) {
   DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
-
   if (result != MediaStreamRequestResult::OK) {
     OnStreamGenerationFailed(request_id, result);
     return;
@@ -850,13 +883,16 @@
     OnStreamGeneratedForCancelledRequest(audio_devices, video_devices);
     return;
   }
+  blink::WebRtcLogMessage(
+      base::StringPrintf("UMP::OnStreamGenerated. request_id = %d.",
+                         current_request_info_->request_id()));
 
   current_request_info_->set_state(RequestInfo::State::GENERATED);
 
   for (const auto* devices : {&audio_devices, &video_devices}) {
     for (const auto& device : *devices) {
       blink::WebRtcLogMessage(base::StringPrintf(
-          "UMCI::OnStreamGenerated. request_id=%d, device id=\"%s\", "
+          "UMP::OnStreamGenerated. request_id=%d, device id=\"%s\", "
           "device name=\"%s\"",
           request_id, device.id.c_str(), device.name.c_str()));
     }
@@ -924,6 +960,7 @@
 void UserMediaProcessor::OnStreamGeneratedForCancelledRequest(
     const Vector<MediaStreamDevice>& audio_devices,
     const Vector<MediaStreamDevice>& video_devices) {
+  blink::WebRtcLogMessage("UMP::OnStreamGeneratedForCancelledRequest.");
   // Only stop the device if the device is not used in another MediaStream.
   for (auto* it = audio_devices.begin(); it != audio_devices.end(); ++it) {
     if (!FindLocalSource(*it)) {
@@ -996,6 +1033,9 @@
     // MediaStreamDispatcherHost is processing the request.
     return;
   }
+  blink::WebRtcLogMessage(
+      base::StringPrintf("UMP::OnStreamGenerationFailed. request_id = %d.",
+                         current_request_info_->request_id()));
 
   GetUserMediaRequestFailed(result);
   DeleteWebRequest(current_request_info_->web_request());
@@ -1351,7 +1391,7 @@
   DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
   DCHECK(IsCurrentRequestInfo(web_request));
   blink::WebRtcLogMessage(
-      base::StringPrintf("UMCI::GetUserMediaRequestSucceeded. request_id=%d",
+      base::StringPrintf("UMP::GetUserMediaRequestSucceeded. request_id=%d",
                          current_request_info_->request_id()));
 
   // Completing the getUserMedia request can lead to that the RenderFrame and
@@ -1380,7 +1420,7 @@
   DCHECK(current_request_info_);
   DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
   blink::WebRtcLogMessage(
-      base::StringPrintf("UMCI::GetUserMediaRequestFailed. request_id=%d",
+      base::StringPrintf("UMP::GetUserMediaRequestFailed. request_id=%d",
                          current_request_info_->request_id()));
 
   // Completing the getUserMedia request can lead to that the RenderFrame and
diff --git a/third_party/blink/renderer/modules/webaudio/wave_shaper_node.cc b/third_party/blink/renderer/modules/webaudio/wave_shaper_node.cc
index f81fa99..540b62d 100644
--- a/third_party/blink/renderer/modules/webaudio/wave_shaper_node.cc
+++ b/third_party/blink/renderer/modules/webaudio/wave_shaper_node.cc
@@ -125,12 +125,11 @@
     return NotShared<DOMFloat32Array>(nullptr);
 
   unsigned size = curve->size();
-  scoped_refptr<WTF::Float32Array> new_curve = WTF::Float32Array::Create(size);
 
-  memcpy(new_curve->Data(), curve->data(), sizeof(float) * size);
+  NotShared<DOMFloat32Array> result(DOMFloat32Array::Create(size));
+  memcpy(result.View()->Data(), curve->data(), sizeof(float) * size);
 
-  return NotShared<DOMFloat32Array>(
-      DOMFloat32Array::Create(std::move(new_curve)));
+  return result;
 }
 
 void WaveShaperNode::setOversample(const String& type) {
diff --git a/third_party/blink/renderer/platform/heap/unified_heap_controller.cc b/third_party/blink/renderer/platform/heap/unified_heap_controller.cc
index c0f3251..c76a311 100644
--- a/third_party/blink/renderer/platform/heap/unified_heap_controller.cc
+++ b/third_party/blink/renderer/platform/heap/unified_heap_controller.cc
@@ -184,9 +184,13 @@
 }
 
 void UnifiedHeapController::ReportBufferedAllocatedSizeIfPossible() {
-  // Reported from a recursive sweeping call.
-  if (thread_state()->IsSweepingInProgress() &&
-      thread_state()->SweepForbidden()) {
+  // Avoid reporting to V8 in the following conditions as that may trigger GC
+  // finalizations where not allowed.
+  // - Recursive sweeping.
+  // - GC forbidden scope.
+  if ((thread_state()->IsSweepingInProgress() &&
+       thread_state()->SweepForbidden()) ||
+      thread_state()->IsGCForbidden()) {
     return;
   }
 
diff --git a/third_party/blink/renderer/platform/wtf/cross_thread_copier.h b/third_party/blink/renderer/platform/wtf/cross_thread_copier.h
index 6f24a91..94209ae 100644
--- a/third_party/blink/renderer/platform/wtf/cross_thread_copier.h
+++ b/third_party/blink/renderer/platform/wtf/cross_thread_copier.h
@@ -265,25 +265,6 @@
   WTF_EXPORT static Type Copy(const String&);
 };
 
-// mojo::InterfacePtrInfo is a cross-thread safe mojo::InterfacePtr.
-template <typename Interface>
-struct CrossThreadCopier<mojo::InterfacePtrInfo<Interface>> {
-  STATIC_ONLY(CrossThreadCopier);
-  using Type = mojo::InterfacePtrInfo<Interface>;
-  static Type Copy(Type ptr_info) {
-    return ptr_info;  // This is in fact a move.
-  }
-};
-
-template <typename Interface>
-struct CrossThreadCopier<mojo::InterfaceRequest<Interface>> {
-  STATIC_ONLY(CrossThreadCopier);
-  using Type = mojo::InterfaceRequest<Interface>;
-  static Type Copy(Type request) {
-    return request;  // This is in fact a move.
-  }
-};
-
 template <typename Interface>
 struct CrossThreadCopier<mojo::PendingReceiver<Interface>> {
   STATIC_ONLY(CrossThreadCopier);
diff --git a/third_party/blink/tools/blinkpy/presubmit/audit_non_blink_usage.py b/third_party/blink/tools/blinkpy/presubmit/audit_non_blink_usage.py
index 6e0b01d6..8a038025 100755
--- a/third_party/blink/tools/blinkpy/presubmit/audit_non_blink_usage.py
+++ b/third_party/blink/tools/blinkpy/presubmit/audit_non_blink_usage.py
@@ -377,7 +377,7 @@
             # namespace.
             'frame_test_helpers::.+',
 
-            # Blink uses Mojo, so it needs mojo::Binding, mojo::InterfacePtr, et
+            # Blink uses Mojo, so it needs mojo::Receiver, mojo::Remote, et
             # cetera, as well as generated Mojo bindings.
             # Note that the Mojo callback helpers are explicitly forbidden:
             # Blink already has a signal for contexts being destroyed, and
diff --git a/third_party/blink/web_tests/TestExpectations b/third_party/blink/web_tests/TestExpectations
index e0a61ff..7b381ff 100644
--- a/third_party/blink/web_tests/TestExpectations
+++ b/third_party/blink/web_tests/TestExpectations
@@ -346,6 +346,8 @@
 crbug.com/981719 [ Linux ] external/wpt/css/css-ui/webkit-appearance-textfield-001.html [ Failure ]
 crbug.com/981719 [ Win ] external/wpt/css/css-ui/webkit-appearance-textfield-001.html [ Failure ]
 
+crbug.com/1011453 [ Mac10.10 ] fast/text/trailing-white-space-2.html [ Failure ]
+
 # ====== Paint team owned tests to here ======
 
 crbug.com/922249 virtual/android/fullscreen/compositor-touch-hit-rects-fullscreen-video-controls.html [ Failure Pass ]
@@ -3410,7 +3412,6 @@
 crbug.com/626703 external/wpt/css/css-sizing/image-min-max-content-intrinsic-size-change-008.html [ Failure ]
 crbug.com/626703 external/wpt/css/css-animations/animationevent-marker-pseudoelement.html [ Timeout ]
 crbug.com/626703 external/wpt/css/css-text/line-breaking/line-breaking-016.html [ Failure ]
-crbug.com/626703 [ Win7 ] external/wpt/upgrade-insecure-requests/image-redirect-upgrade.https.html [ Timeout ]
 crbug.com/626703 external/wpt/css/css-text/line-breaking/line-breaking-atomic-008.html [ Failure ]
 crbug.com/626703 external/wpt/css/css-text/line-breaking/line-breaking-replaced-005.html [ Failure ]
 crbug.com/626703 external/wpt/css/css-text/overflow-wrap/overflow-wrap-cluster-002.html [ Failure ]
@@ -4234,8 +4235,64 @@
 crbug.com/457718 external/wpt/css/css-pseudo/marker-content-011.html [ Failure ]
 crbug.com/457718 external/wpt/css/css-pseudo/marker-list-style-position.html [ Failure ]
 
-crbug.com/917554 external/wpt/upgrade-insecure-requests/worker-subresource-fetch-upgrade.https.html [ Crash ]
-crbug.com/917554 virtual/omt-worker-fetch/external/wpt/upgrade-insecure-requests/worker-subresource-fetch-upgrade.https.html [ Crash ]
+crbug.com/917554 external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/fetch/cross-http-downgrade.no-redirect.https.html [ Crash ]
+crbug.com/917554 external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/fetch/same-http-downgrade.no-redirect.https.html [ Crash ]
+crbug.com/917554 external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/fetch/cross-http-downgrade.no-redirect.https.html [ Crash ]
+crbug.com/917554 external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/fetch/same-http-downgrade.no-redirect.https.html [ Crash ]
+crbug.com/917554 external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/fetch/cross-http-downgrade.no-redirect.https.html [ Crash ]
+crbug.com/917554 external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/fetch/same-http-downgrade.no-redirect.https.html [ Crash ]
+crbug.com/917554 external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/fetch/cross-http-downgrade.no-redirect.https.html [ Crash ]
+crbug.com/917554 external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/fetch/same-http-downgrade.no-redirect.https.html [ Crash ]
+crbug.com/917554 external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/cross-http-downgrade.no-redirect.https.html [ Crash ]
+crbug.com/917554 external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/same-http-downgrade.no-redirect.https.html [ Crash ]
+crbug.com/917554 virtual/omt-worker-fetch/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/fetch/cross-http-downgrade.no-redirect.https.html [ Crash ]
+crbug.com/917554 virtual/omt-worker-fetch/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/fetch/same-http-downgrade.no-redirect.https.html [ Crash ]
+crbug.com/917554 virtual/omt-worker-fetch/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/fetch/cross-http-downgrade.no-redirect.https.html [ Crash ]
+crbug.com/917554 virtual/omt-worker-fetch/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/fetch/same-http-downgrade.no-redirect.https.html [ Crash ]
+crbug.com/917554 virtual/omt-worker-fetch/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/fetch/cross-http-downgrade.no-redirect.https.html [ Crash ]
+crbug.com/917554 virtual/omt-worker-fetch/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/fetch/same-http-downgrade.no-redirect.https.html [ Crash ]
+crbug.com/917554 virtual/omt-worker-fetch/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/fetch/cross-http-downgrade.no-redirect.https.html [ Crash ]
+crbug.com/917554 virtual/omt-worker-fetch/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/fetch/same-http-downgrade.no-redirect.https.html [ Crash ]
+crbug.com/917554 virtual/omt-worker-fetch/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/cross-http-downgrade.no-redirect.https.html [ Crash ]
+crbug.com/917554 virtual/omt-worker-fetch/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/same-http-downgrade.no-redirect.https.html [ Crash ]
+
+# iframe tests time out if the request is blocked as mixed content.
+crbug.com/1001374 external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/iframe-tag/cross-http-downgrade.downgrade.https.html [ Timeout ]
+crbug.com/1001374 external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/iframe-tag/cross-http-downgrade.no-redirect.https.html [ Timeout ]
+crbug.com/1001374 external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/iframe-tag/cross-https.downgrade.https.html [ Timeout ]
+crbug.com/1001374 external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/iframe-tag/same-http-downgrade.downgrade.https.html [ Timeout ]
+crbug.com/1001374 external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/iframe-tag/same-http-downgrade.no-redirect.https.html [ Timeout ]
+crbug.com/1001374 external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/iframe-tag/same-https.downgrade.https.html [ Timeout ]
+crbug.com/1001374 external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/iframe-tag/cross-http-downgrade.downgrade.https.html [ Timeout ]
+crbug.com/1001374 external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/iframe-tag/cross-http-downgrade.no-redirect.https.html [ Timeout ]
+crbug.com/1001374 external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/iframe-tag/cross-https.downgrade.https.html [ Timeout ]
+crbug.com/1001374 external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/iframe-tag/same-http-downgrade.downgrade.https.html [ Timeout ]
+crbug.com/1001374 external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/iframe-tag/same-http-downgrade.no-redirect.https.html [ Timeout ]
+crbug.com/1001374 external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/iframe-tag/same-https.downgrade.https.html [ Timeout ]
+crbug.com/1001374 external/wpt/upgrade-insecure-requests/gen/top.meta/unset/iframe-tag/cross-http-downgrade.downgrade.https.html [ Timeout ]
+crbug.com/1001374 external/wpt/upgrade-insecure-requests/gen/top.meta/unset/iframe-tag/cross-http-downgrade.no-redirect.https.html [ Timeout ]
+crbug.com/1001374 external/wpt/upgrade-insecure-requests/gen/top.meta/unset/iframe-tag/cross-https.downgrade.https.html [ Timeout ]
+crbug.com/1001374 external/wpt/upgrade-insecure-requests/gen/top.meta/unset/iframe-tag/same-http-downgrade.downgrade.https.html [ Timeout ]
+crbug.com/1001374 external/wpt/upgrade-insecure-requests/gen/top.meta/unset/iframe-tag/same-http-downgrade.no-redirect.https.html [ Timeout ]
+crbug.com/1001374 external/wpt/upgrade-insecure-requests/gen/top.meta/unset/iframe-tag/same-https.downgrade.https.html [ Timeout ]
+crbug.com/1001374 virtual/omt-worker-fetch/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/iframe-tag/cross-http-downgrade.downgrade.https.html [ Timeout ]
+crbug.com/1001374 virtual/omt-worker-fetch/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/iframe-tag/cross-http-downgrade.no-redirect.https.html [ Timeout ]
+crbug.com/1001374 virtual/omt-worker-fetch/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/iframe-tag/cross-https.downgrade.https.html [ Timeout ]
+crbug.com/1001374 virtual/omt-worker-fetch/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/iframe-tag/same-http-downgrade.downgrade.https.html [ Timeout ]
+crbug.com/1001374 virtual/omt-worker-fetch/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/iframe-tag/same-http-downgrade.no-redirect.https.html [ Timeout ]
+crbug.com/1001374 virtual/omt-worker-fetch/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/iframe-tag/same-https.downgrade.https.html [ Timeout ]
+crbug.com/1001374 virtual/omt-worker-fetch/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/iframe-tag/cross-http-downgrade.downgrade.https.html [ Timeout ]
+crbug.com/1001374 virtual/omt-worker-fetch/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/iframe-tag/cross-http-downgrade.no-redirect.https.html [ Timeout ]
+crbug.com/1001374 virtual/omt-worker-fetch/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/iframe-tag/cross-https.downgrade.https.html [ Timeout ]
+crbug.com/1001374 virtual/omt-worker-fetch/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/iframe-tag/same-http-downgrade.downgrade.https.html [ Timeout ]
+crbug.com/1001374 virtual/omt-worker-fetch/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/iframe-tag/same-http-downgrade.no-redirect.https.html [ Timeout ]
+crbug.com/1001374 virtual/omt-worker-fetch/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/iframe-tag/same-https.downgrade.https.html [ Timeout ]
+crbug.com/1001374 virtual/omt-worker-fetch/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/iframe-tag/cross-http-downgrade.downgrade.https.html [ Timeout ]
+crbug.com/1001374 virtual/omt-worker-fetch/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/iframe-tag/cross-http-downgrade.no-redirect.https.html [ Timeout ]
+crbug.com/1001374 virtual/omt-worker-fetch/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/iframe-tag/cross-https.downgrade.https.html [ Timeout ]
+crbug.com/1001374 virtual/omt-worker-fetch/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/iframe-tag/same-http-downgrade.downgrade.https.html [ Timeout ]
+crbug.com/1001374 virtual/omt-worker-fetch/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/iframe-tag/same-http-downgrade.no-redirect.https.html [ Timeout ]
+crbug.com/1001374 virtual/omt-worker-fetch/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/iframe-tag/same-https.downgrade.https.html [ Timeout ]
 
 # Different results on try bots and CQ, skipped to unblock wpt import.
 crbug.com/888443 external/wpt/css/cssom-view/scroll-behavior-default-css.html [ Skip ]
@@ -6080,7 +6137,7 @@
 crbug.com/1003055 virtual/threaded/external/wpt/css/css-scroll-snap/scroll-target-snap-003.html [ Failure ]
 
 # Sheriff 2019-09-12
-crbug.com/1003268 [ Win10 ] fast/harness/internals-observe-gc.html [ Failure ]
+crbug.com/1003268 [ Win10 Win7 ] fast/harness/internals-observe-gc.html [ Failure ]
 crbug.com/731018 [ Mac ] external/wpt/accelerometer/Accelerometer.https.html [ Pass Failure ]
 crbug.com/731018 [ Mac ] external/wpt/gyroscope/Gyroscope.https.html [ Pass Failure ]
 crbug.com/731018 [ Mac ] external/wpt/orientation-sensor/AbsoluteOrientationSensor.https.html [ Pass Failure ]
@@ -6124,6 +6181,7 @@
 crbug.com/1010593 virtual/disable-deferred-rendering/fast/canvas/canvas-scale-drawImage-shadow.html [ Failure ]
 crbug.com/1010655 virtual/disable-deferred-rendering/fast/canvas/canvas-lost-gpu-context.html [ Failure ]
 crbug.com/1010657 [ Mac ] virtual/disable-deferred-rendering/fast/canvas/image-object-in-canvas.html [ Failure ]
+crbug.com/1011723 virtual/disable-deferred-rendering/fast/canvas/OffscreenCanvas-copyImage.html [ Failure ]
 
 # Sheriff 2019-10-04
 crbug.com/1011191 [ Mac ] paint/invalidation/svg/use-clipped-hit.svg  [ Pass Failure ]
diff --git a/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_6.json b/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_6.json
index 3470a72..d7d981c 100644
--- a/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_6.json
+++ b/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_6.json
@@ -174925,6 +174925,345 @@
    "upgrade-insecure-requests/OWNERS": [
     []
    ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/sharedworker-classic/same-http-downgrade.downgrade.https-expected.txt": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/sharedworker-classic/same-http-downgrade.no-redirect.https-expected.txt": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-classic/same-http-downgrade.downgrade.https-expected.txt": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-classic/same-http-downgrade.no-redirect.https-expected.txt": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-module/same-http-downgrade.downgrade.https-expected.txt": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-module/same-http-downgrade.no-redirect.https-expected.txt": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/sharedworker-classic/same-http-downgrade.downgrade.https-expected.txt": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/sharedworker-classic/same-http-downgrade.no-redirect.https-expected.txt": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-classic/same-http-downgrade.downgrade.https-expected.txt": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-classic/same-http-downgrade.no-redirect.https-expected.txt": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-module/same-http-downgrade.downgrade.https-expected.txt": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-module/same-http-downgrade.no-redirect.https-expected.txt": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/cross-http-downgrade.downgrade.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/cross-http-downgrade.no-redirect.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/cross-https.downgrade.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/same-http-downgrade.downgrade.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/same-http-downgrade.no-redirect.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/same-https.downgrade.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/cross-http-downgrade.downgrade.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/cross-http-downgrade.no-redirect.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/cross-https.downgrade.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/same-http-downgrade.downgrade.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/same-http-downgrade.no-redirect.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/same-https.downgrade.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/cross-http-downgrade.downgrade.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/cross-http-downgrade.no-redirect.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/cross-https.downgrade.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/same-http-downgrade.downgrade.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/same-http-downgrade.no-redirect.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/same-https.downgrade.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/sharedworker-classic/same-http-downgrade.downgrade.https-expected.txt": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/sharedworker-classic/same-http-downgrade.downgrade.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/sharedworker-classic/same-http-downgrade.no-redirect.https-expected.txt": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/sharedworker-classic/same-http-downgrade.no-redirect.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/sharedworker-classic/same-https.downgrade.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/websocket/cross-ws-downgrade.no-redirect.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/websocket/same-ws-downgrade.no-redirect.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-classic/same-http-downgrade.downgrade.https-expected.txt": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-classic/same-http-downgrade.downgrade.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-classic/same-http-downgrade.no-redirect.https-expected.txt": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-classic/same-http-downgrade.no-redirect.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-classic/same-https.downgrade.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/cross-http-downgrade.downgrade.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/cross-http-downgrade.no-redirect.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/cross-https.downgrade.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/same-http-downgrade.downgrade.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/same-http-downgrade.no-redirect.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/same-https.downgrade.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-module/same-http-downgrade.downgrade.https-expected.txt": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-module/same-http-downgrade.downgrade.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-module/same-http-downgrade.no-redirect.https-expected.txt": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-module/same-http-downgrade.no-redirect.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-module/same-https.downgrade.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/cross-http-downgrade.downgrade.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/cross-http-downgrade.no-redirect.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/cross-https.downgrade.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/same-http-downgrade.downgrade.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/same-http-downgrade.no-redirect.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/same-https.downgrade.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/cross-http-downgrade.downgrade.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/cross-http-downgrade.no-redirect.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/cross-https.downgrade.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/same-http-downgrade.downgrade.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/same-http-downgrade.no-redirect.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/same-https.downgrade.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/cross-http-downgrade.downgrade.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/cross-http-downgrade.no-redirect.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/cross-https.downgrade.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/same-http-downgrade.downgrade.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/same-http-downgrade.no-redirect.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/same-https.downgrade.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/cross-http-downgrade.downgrade.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/cross-http-downgrade.no-redirect.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/cross-https.downgrade.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/same-http-downgrade.downgrade.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/same-http-downgrade.no-redirect.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/same-https.downgrade.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/cross-http-downgrade.downgrade.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/cross-http-downgrade.no-redirect.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/cross-https.downgrade.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/same-http-downgrade.downgrade.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/same-http-downgrade.no-redirect.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/same-https.downgrade.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/cross-http-downgrade.downgrade.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/cross-http-downgrade.no-redirect.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/cross-https.downgrade.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/same-http-downgrade.downgrade.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/same-http-downgrade.no-redirect.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/same-https.downgrade.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/cross-http-downgrade.downgrade.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/cross-http-downgrade.no-redirect.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/cross-https.downgrade.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/same-http-downgrade.downgrade.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/same-http-downgrade.no-redirect.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/same-https.downgrade.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/cross-http-downgrade.downgrade.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/cross-http-downgrade.no-redirect.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/cross-https.downgrade.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/same-http-downgrade.downgrade.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/same-http-downgrade.no-redirect.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/same-https.downgrade.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/cross-http-downgrade.downgrade.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/cross-http-downgrade.no-redirect.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/cross-https.downgrade.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/same-http-downgrade.downgrade.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/same-http-downgrade.no-redirect.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/same-https.downgrade.https.html.headers": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/sharedworker-classic/same-http-downgrade.downgrade.https-expected.txt": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/sharedworker-classic/same-http-downgrade.no-redirect.https-expected.txt": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worker-classic/same-http-downgrade.downgrade.https-expected.txt": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worker-classic/same-http-downgrade.no-redirect.https-expected.txt": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worker-module/same-http-downgrade.downgrade.https-expected.txt": [
+    []
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worker-module/same-http-downgrade.no-redirect.https-expected.txt": [
+    []
+   ],
    "upgrade-insecure-requests/generic/test-case.sub.js": [
     []
    ],
@@ -174991,18 +175330,6 @@
    "upgrade-insecure-requests/link-upgrade/resources/post-message-to-opener.sub.html": [
     []
    ],
-   "upgrade-insecure-requests/module-worker-redirect-upgrade.https-expected.txt": [
-    []
-   ],
-   "upgrade-insecure-requests/module-worker-upgrade.https-expected.txt": [
-    []
-   ],
-   "upgrade-insecure-requests/shared-worker-redirect-upgrade.https-expected.txt": [
-    []
-   ],
-   "upgrade-insecure-requests/shared-worker-upgrade.https-expected.txt": [
-    []
-   ],
    "upgrade-insecure-requests/spec.src.json": [
     []
    ],
@@ -175015,12 +175342,6 @@
    "upgrade-insecure-requests/support/testharness-helper.sub.js": [
     []
    ],
-   "upgrade-insecure-requests/worker-redirect-upgrade.https-expected.txt": [
-    []
-   ],
-   "upgrade-insecure-requests/worker-upgrade.https-expected.txt": [
-    []
-   ],
    "url/META.yml": [
     []
    ],
@@ -197874,6 +198195,12 @@
      }
     ]
    ],
+   "compat/webkit-box-removing-triggering-anonymous-merge.html": [
+    [
+     "compat/webkit-box-removing-triggering-anonymous-merge.html",
+     {}
+    ]
+   ],
    "compat/webkit-gradient-comma.html": [
     [
      "compat/webkit-gradient-comma.html",
@@ -299382,81 +299709,3909 @@
      }
     ]
    ],
-   "upgrade-insecure-requests/animation-worklet-import-upgrade.https.html": [
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/fetch/cross-http-downgrade.downgrade.https.html": [
     [
-     "upgrade-insecure-requests/animation-worklet-import-upgrade.https.html",
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/fetch/cross-http-downgrade.downgrade.https.html",
      {}
     ]
    ],
-   "upgrade-insecure-requests/animation-worklet-redirect-upgrade.https.html": [
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/fetch/cross-http-downgrade.no-redirect.https.html": [
     [
-     "upgrade-insecure-requests/animation-worklet-redirect-upgrade.https.html",
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/fetch/cross-http-downgrade.no-redirect.https.html",
      {}
     ]
    ],
-   "upgrade-insecure-requests/animation-worklet-upgrade.https.html": [
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/fetch/cross-https.downgrade.https.html": [
     [
-     "upgrade-insecure-requests/animation-worklet-upgrade.https.html",
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/fetch/cross-https.downgrade.https.html",
      {}
     ]
    ],
-   "upgrade-insecure-requests/audio-worklet-import-upgrade.https.html": [
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/fetch/same-http-downgrade.downgrade.https.html": [
     [
-     "upgrade-insecure-requests/audio-worklet-import-upgrade.https.html",
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/fetch/same-http-downgrade.downgrade.https.html",
      {}
     ]
    ],
-   "upgrade-insecure-requests/audio-worklet-redirect-upgrade.https.html": [
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/fetch/same-http-downgrade.no-redirect.https.html": [
     [
-     "upgrade-insecure-requests/audio-worklet-redirect-upgrade.https.html",
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/fetch/same-http-downgrade.no-redirect.https.html",
      {}
     ]
    ],
-   "upgrade-insecure-requests/audio-worklet-upgrade.https.html": [
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/fetch/same-https.downgrade.https.html": [
     [
-     "upgrade-insecure-requests/audio-worklet-upgrade.https.html",
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/fetch/same-https.downgrade.https.html",
      {}
     ]
    ],
-   "upgrade-insecure-requests/iframe-redirect-upgrade.https.html": [
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/iframe-tag/cross-http-downgrade.downgrade.https.html": [
     [
-     "upgrade-insecure-requests/iframe-redirect-upgrade.https.html",
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/iframe-tag/cross-http-downgrade.downgrade.https.html",
      {}
     ]
    ],
-   "upgrade-insecure-requests/iframe-upgrade.https.html": [
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/iframe-tag/cross-http-downgrade.no-redirect.https.html": [
     [
-     "upgrade-insecure-requests/iframe-upgrade.https.html",
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/iframe-tag/cross-http-downgrade.no-redirect.https.html",
      {}
     ]
    ],
-   "upgrade-insecure-requests/image-redirect-upgrade.https.html": [
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/iframe-tag/cross-https.downgrade.https.html": [
     [
-     "upgrade-insecure-requests/image-redirect-upgrade.https.html",
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/iframe-tag/cross-https.downgrade.https.html",
      {}
     ]
    ],
-   "upgrade-insecure-requests/image-upgrade.https.html": [
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/iframe-tag/same-http-downgrade.downgrade.https.html": [
     [
-     "upgrade-insecure-requests/image-upgrade.https.html",
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/iframe-tag/same-http-downgrade.downgrade.https.html",
      {}
     ]
    ],
-   "upgrade-insecure-requests/layout-worklet-import-upgrade.https.html": [
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/iframe-tag/same-http-downgrade.no-redirect.https.html": [
     [
-     "upgrade-insecure-requests/layout-worklet-import-upgrade.https.html",
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/iframe-tag/same-http-downgrade.no-redirect.https.html",
      {}
     ]
    ],
-   "upgrade-insecure-requests/layout-worklet-redirect-upgrade.https.html": [
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/iframe-tag/same-https.downgrade.https.html": [
     [
-     "upgrade-insecure-requests/layout-worklet-redirect-upgrade.https.html",
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/iframe-tag/same-https.downgrade.https.html",
      {}
     ]
    ],
-   "upgrade-insecure-requests/layout-worklet-upgrade.https.html": [
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/img-tag/cross-http-downgrade.downgrade.https.html": [
     [
-     "upgrade-insecure-requests/layout-worklet-upgrade.https.html",
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/img-tag/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/img-tag/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/img-tag/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/img-tag/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/img-tag/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/img-tag/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/img-tag/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/img-tag/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/img-tag/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/img-tag/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/img-tag/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/sharedworker-classic/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/sharedworker-classic/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/sharedworker-classic/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/sharedworker-classic/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/sharedworker-classic/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/sharedworker-classic/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/websocket/cross-ws-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/websocket/cross-ws-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/websocket/same-ws-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/websocket/same-ws-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-classic/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-classic/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-classic/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-classic/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-classic/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-classic/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-import-data/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-import-data/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-import-data/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-import-data/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-import-data/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-import-data/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-import-data/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-import-data/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-import-data/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-import-data/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-import-data/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-import-data/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-module/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-module/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-module/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-module/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-module/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-module/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation-import-data/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation-import-data/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation-import-data/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation-import-data/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation-import-data/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation-import-data/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation-import-data/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation-import-data/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation-import-data/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation-import-data/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation-import-data/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation-import-data/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio-import-data/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio-import-data/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio-import-data/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio-import-data/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio-import-data/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio-import-data/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio-import-data/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio-import-data/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio-import-data/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio-import-data/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio-import-data/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio-import-data/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout-import-data/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout-import-data/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout-import-data/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout-import-data/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout-import-data/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout-import-data/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout-import-data/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout-import-data/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout-import-data/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout-import-data/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout-import-data/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout-import-data/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint-import-data/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint-import-data/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint-import-data/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint-import-data/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint-import-data/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint-import-data/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint-import-data/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint-import-data/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint-import-data/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint-import-data/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint-import-data/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint-import-data/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/xhr/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/xhr/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/xhr/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/xhr/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/xhr/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/xhr/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/xhr/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/xhr/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/xhr/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/xhr/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/xhr/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/xhr/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/fetch/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/fetch/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/fetch/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/fetch/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/fetch/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/fetch/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/fetch/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/fetch/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/fetch/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/fetch/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/fetch/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/fetch/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/iframe-tag/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/iframe-tag/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/iframe-tag/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/iframe-tag/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/iframe-tag/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/iframe-tag/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/iframe-tag/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/iframe-tag/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/iframe-tag/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/iframe-tag/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/iframe-tag/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/iframe-tag/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/img-tag/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/img-tag/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/img-tag/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/img-tag/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/img-tag/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/img-tag/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/img-tag/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/img-tag/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/img-tag/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/img-tag/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/img-tag/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/img-tag/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/sharedworker-classic/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/sharedworker-classic/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/sharedworker-classic/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/sharedworker-classic/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/sharedworker-classic/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/sharedworker-classic/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/websocket/cross-ws-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/websocket/cross-ws-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/websocket/same-ws-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/websocket/same-ws-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-classic/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-classic/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-classic/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-classic/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-classic/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-classic/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-import-data/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-import-data/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-import-data/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-import-data/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-import-data/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-import-data/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-import-data/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-import-data/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-import-data/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-import-data/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-import-data/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-import-data/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-module/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-module/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-module/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-module/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-module/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-module/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation-import-data/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation-import-data/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation-import-data/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation-import-data/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation-import-data/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation-import-data/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation-import-data/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation-import-data/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation-import-data/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation-import-data/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation-import-data/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation-import-data/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio-import-data/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio-import-data/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio-import-data/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio-import-data/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio-import-data/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio-import-data/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio-import-data/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio-import-data/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio-import-data/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio-import-data/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio-import-data/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio-import-data/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout-import-data/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout-import-data/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout-import-data/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout-import-data/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout-import-data/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout-import-data/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout-import-data/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout-import-data/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout-import-data/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout-import-data/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout-import-data/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout-import-data/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint-import-data/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint-import-data/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint-import-data/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint-import-data/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint-import-data/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint-import-data/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint-import-data/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint-import-data/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint-import-data/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint-import-data/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint-import-data/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint-import-data/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/xhr/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/xhr/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/xhr/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/xhr/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/xhr/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/xhr/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/xhr/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/xhr/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/xhr/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/xhr/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/xhr/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/xhr/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/fetch/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/fetch/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/fetch/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/fetch/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/fetch/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/fetch/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/fetch/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/fetch/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/fetch/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/fetch/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/fetch/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/fetch/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/iframe-tag/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/iframe-tag/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/iframe-tag/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/iframe-tag/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/iframe-tag/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/iframe-tag/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/iframe-tag/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/iframe-tag/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/iframe-tag/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/iframe-tag/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/iframe-tag/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/iframe-tag/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/img-tag/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/img-tag/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/img-tag/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/img-tag/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/img-tag/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/img-tag/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/img-tag/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/img-tag/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/img-tag/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/img-tag/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/img-tag/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/img-tag/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/sharedworker-classic/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/sharedworker-classic/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/sharedworker-classic/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/sharedworker-classic/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/sharedworker-classic/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/sharedworker-classic/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/websocket/cross-ws-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/websocket/cross-ws-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/websocket/same-ws-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/websocket/same-ws-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-classic/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-classic/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-classic/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-classic/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-classic/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-classic/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-import-data/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-import-data/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-import-data/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-import-data/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-import-data/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-import-data/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-import-data/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-import-data/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-import-data/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-import-data/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-import-data/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-import-data/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-module/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-module/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-module/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-module/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-module/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-module/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation-import-data/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation-import-data/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation-import-data/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation-import-data/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation-import-data/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation-import-data/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation-import-data/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation-import-data/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation-import-data/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation-import-data/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation-import-data/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation-import-data/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio-import-data/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio-import-data/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio-import-data/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio-import-data/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio-import-data/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio-import-data/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio-import-data/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio-import-data/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio-import-data/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio-import-data/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio-import-data/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio-import-data/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout-import-data/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout-import-data/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout-import-data/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout-import-data/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout-import-data/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout-import-data/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout-import-data/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout-import-data/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout-import-data/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout-import-data/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout-import-data/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout-import-data/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint-import-data/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint-import-data/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint-import-data/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint-import-data/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint-import-data/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint-import-data/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint-import-data/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint-import-data/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint-import-data/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint-import-data/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint-import-data/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint-import-data/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/xhr/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/xhr/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/xhr/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/xhr/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/xhr/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/xhr/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/xhr/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/xhr/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/xhr/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/xhr/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/xhr/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/xhr/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/fetch/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/fetch/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/fetch/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/fetch/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/fetch/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/fetch/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/fetch/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/fetch/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/fetch/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/fetch/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/fetch/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/fetch/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/iframe-tag/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/iframe-tag/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/iframe-tag/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/iframe-tag/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/iframe-tag/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/iframe-tag/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/iframe-tag/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/iframe-tag/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/iframe-tag/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/iframe-tag/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/iframe-tag/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/iframe-tag/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/img-tag/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/img-tag/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/img-tag/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/img-tag/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/img-tag/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/img-tag/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/img-tag/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/img-tag/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/img-tag/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/img-tag/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/img-tag/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/img-tag/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/sharedworker-classic/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/sharedworker-classic/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/sharedworker-classic/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/sharedworker-classic/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/sharedworker-classic/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/sharedworker-classic/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/websocket/cross-ws-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/websocket/cross-ws-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/websocket/same-ws-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/websocket/same-ws-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-classic/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-classic/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-classic/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-classic/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-classic/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-classic/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-import-data/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-import-data/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-import-data/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-import-data/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-import-data/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-import-data/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-import-data/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-import-data/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-import-data/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-import-data/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-import-data/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-import-data/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-module/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-module/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-module/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-module/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-module/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-module/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation-import-data/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation-import-data/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation-import-data/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation-import-data/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation-import-data/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation-import-data/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation-import-data/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation-import-data/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation-import-data/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation-import-data/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation-import-data/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation-import-data/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio-import-data/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio-import-data/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio-import-data/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio-import-data/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio-import-data/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio-import-data/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio-import-data/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio-import-data/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio-import-data/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio-import-data/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio-import-data/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio-import-data/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout-import-data/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout-import-data/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout-import-data/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout-import-data/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout-import-data/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout-import-data/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout-import-data/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout-import-data/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout-import-data/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout-import-data/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout-import-data/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout-import-data/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint-import-data/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint-import-data/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint-import-data/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint-import-data/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint-import-data/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint-import-data/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint-import-data/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint-import-data/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint-import-data/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint-import-data/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint-import-data/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint-import-data/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/xhr/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/xhr/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/xhr/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/xhr/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/xhr/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/xhr/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/xhr/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/xhr/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/xhr/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/xhr/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/xhr/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/xhr/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/sharedworker-classic/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/sharedworker-classic/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/sharedworker-classic/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/sharedworker-classic/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/sharedworker-classic/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/sharedworker-classic/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/websocket/cross-ws-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/websocket/cross-ws-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/websocket/same-ws-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/websocket/same-ws-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-classic/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-classic/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-classic/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-classic/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-classic/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-classic/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-module/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-module/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-module/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-module/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-module/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-module/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/fetch/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/fetch/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/fetch/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/fetch/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/fetch/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/fetch/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/fetch/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/fetch/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/fetch/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/fetch/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/fetch/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/fetch/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/iframe-tag/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/iframe-tag/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/iframe-tag/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/iframe-tag/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/iframe-tag/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/iframe-tag/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/iframe-tag/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/iframe-tag/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/iframe-tag/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/iframe-tag/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/iframe-tag/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/iframe-tag/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/img-tag/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/img-tag/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/img-tag/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/img-tag/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/img-tag/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/img-tag/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/img-tag/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/img-tag/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/img-tag/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/img-tag/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/img-tag/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/img-tag/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/sharedworker-classic/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/sharedworker-classic/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/sharedworker-classic/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/sharedworker-classic/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/sharedworker-classic/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/sharedworker-classic/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/websocket/cross-ws-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/websocket/cross-ws-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/websocket/same-ws-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/websocket/same-ws-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/worker-classic/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/worker-classic/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/worker-classic/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/worker-classic/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/worker-classic/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/worker-classic/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/worker-import-data/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/worker-import-data/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/worker-import-data/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/worker-import-data/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/worker-import-data/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/worker-import-data/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/worker-import-data/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/worker-import-data/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/worker-import-data/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/worker-import-data/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/worker-import-data/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/worker-import-data/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/worker-module/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/worker-module/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/worker-module/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/worker-module/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/worker-module/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/worker-module/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/worklet-animation-import-data/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/worklet-animation-import-data/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/worklet-animation-import-data/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/worklet-animation-import-data/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/worklet-animation-import-data/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/worklet-animation-import-data/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/worklet-animation-import-data/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/worklet-animation-import-data/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/worklet-animation-import-data/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/worklet-animation-import-data/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/worklet-animation-import-data/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/worklet-animation-import-data/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/worklet-animation/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/worklet-animation/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/worklet-animation/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/worklet-animation/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/worklet-animation/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/worklet-animation/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/worklet-animation/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/worklet-animation/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/worklet-animation/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/worklet-animation/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/worklet-animation/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/worklet-animation/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/worklet-audio-import-data/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/worklet-audio-import-data/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/worklet-audio-import-data/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/worklet-audio-import-data/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/worklet-audio-import-data/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/worklet-audio-import-data/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/worklet-audio-import-data/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/worklet-audio-import-data/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/worklet-audio-import-data/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/worklet-audio-import-data/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/worklet-audio-import-data/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/worklet-audio-import-data/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/worklet-audio/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/worklet-audio/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/worklet-audio/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/worklet-audio/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/worklet-audio/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/worklet-audio/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/worklet-audio/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/worklet-audio/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/worklet-audio/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/worklet-audio/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/worklet-audio/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/worklet-audio/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/worklet-layout-import-data/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/worklet-layout-import-data/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/worklet-layout-import-data/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/worklet-layout-import-data/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/worklet-layout-import-data/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/worklet-layout-import-data/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/worklet-layout-import-data/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/worklet-layout-import-data/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/worklet-layout-import-data/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/worklet-layout-import-data/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/worklet-layout-import-data/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/worklet-layout-import-data/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/worklet-layout/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/worklet-layout/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/worklet-layout/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/worklet-layout/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/worklet-layout/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/worklet-layout/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/worklet-layout/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/worklet-layout/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/worklet-layout/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/worklet-layout/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/worklet-layout/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/worklet-layout/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/worklet-paint-import-data/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/worklet-paint-import-data/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/worklet-paint-import-data/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/worklet-paint-import-data/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/worklet-paint-import-data/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/worklet-paint-import-data/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/worklet-paint-import-data/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/worklet-paint-import-data/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/worklet-paint-import-data/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/worklet-paint-import-data/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/worklet-paint-import-data/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/worklet-paint-import-data/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/worklet-paint/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/worklet-paint/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/worklet-paint/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/worklet-paint/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/worklet-paint/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/worklet-paint/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/worklet-paint/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/worklet-paint/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/worklet-paint/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/worklet-paint/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/worklet-paint/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/worklet-paint/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/xhr/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/xhr/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/xhr/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/xhr/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/xhr/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/xhr/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/xhr/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/xhr/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/xhr/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/xhr/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/unset/xhr/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/unset/xhr/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/fetch/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/fetch/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/fetch/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/fetch/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/fetch/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/fetch/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/fetch/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/fetch/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/fetch/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/fetch/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/fetch/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/fetch/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/iframe-tag/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/iframe-tag/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/iframe-tag/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/iframe-tag/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/iframe-tag/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/iframe-tag/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/iframe-tag/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/iframe-tag/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/iframe-tag/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/iframe-tag/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/iframe-tag/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/iframe-tag/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/img-tag/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/img-tag/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/img-tag/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/img-tag/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/img-tag/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/img-tag/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/img-tag/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/img-tag/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/img-tag/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/img-tag/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/img-tag/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/img-tag/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/sharedworker-classic/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/sharedworker-classic/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/sharedworker-classic/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/sharedworker-classic/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/sharedworker-classic/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/sharedworker-classic/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/websocket/cross-ws-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/websocket/cross-ws-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/websocket/same-ws-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/websocket/same-ws-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worker-classic/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/worker-classic/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worker-classic/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/worker-classic/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worker-classic/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/worker-classic/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worker-import-data/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/worker-import-data/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worker-import-data/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/worker-import-data/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worker-import-data/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/worker-import-data/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worker-import-data/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/worker-import-data/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worker-import-data/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/worker-import-data/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worker-import-data/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/worker-import-data/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worker-module/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/worker-module/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worker-module/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/worker-module/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worker-module/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/worker-module/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation-import-data/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation-import-data/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation-import-data/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation-import-data/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation-import-data/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation-import-data/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation-import-data/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation-import-data/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation-import-data/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation-import-data/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation-import-data/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation-import-data/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio-import-data/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio-import-data/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio-import-data/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio-import-data/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio-import-data/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio-import-data/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio-import-data/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio-import-data/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio-import-data/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio-import-data/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio-import-data/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio-import-data/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout-import-data/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout-import-data/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout-import-data/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout-import-data/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout-import-data/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout-import-data/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout-import-data/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout-import-data/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout-import-data/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout-import-data/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout-import-data/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout-import-data/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint-import-data/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint-import-data/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint-import-data/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint-import-data/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint-import-data/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint-import-data/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint-import-data/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint-import-data/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint-import-data/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint-import-data/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint-import-data/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint-import-data/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/xhr/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/xhr/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/xhr/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/xhr/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/xhr/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/xhr/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/xhr/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/xhr/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/xhr/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/xhr/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/top.meta/upgrade/xhr/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/top.meta/upgrade/xhr/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/worker-classic-data.meta/unset/fetch/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/worker-classic-data.meta/unset/fetch/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/worker-classic-data.meta/unset/fetch/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/worker-classic-data.meta/unset/fetch/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/worker-classic-data.meta/unset/fetch/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/worker-classic-data.meta/unset/fetch/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/worker-classic-data.meta/unset/fetch/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/worker-classic-data.meta/unset/fetch/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/worker-classic-data.meta/unset/fetch/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/worker-classic-data.meta/unset/fetch/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/worker-classic-data.meta/unset/fetch/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/worker-classic-data.meta/unset/fetch/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/worker-classic-data.meta/unset/websocket/cross-ws-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/worker-classic-data.meta/unset/websocket/cross-ws-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/worker-classic-data.meta/unset/websocket/same-ws-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/worker-classic-data.meta/unset/websocket/same-ws-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/worker-classic-data.meta/unset/xhr/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/worker-classic-data.meta/unset/xhr/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/worker-classic-data.meta/unset/xhr/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/worker-classic-data.meta/unset/xhr/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/worker-classic-data.meta/unset/xhr/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/worker-classic-data.meta/unset/xhr/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/worker-classic-data.meta/unset/xhr/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/worker-classic-data.meta/unset/xhr/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/worker-classic-data.meta/unset/xhr/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/worker-classic-data.meta/unset/xhr/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/worker-classic-data.meta/unset/xhr/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/worker-classic-data.meta/unset/xhr/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/fetch/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/fetch/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/fetch/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/fetch/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/fetch/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/fetch/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/fetch/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/fetch/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/fetch/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/fetch/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/fetch/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/fetch/same-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/websocket/cross-ws-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/websocket/cross-ws-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/websocket/same-ws-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/websocket/same-ws-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/xhr/cross-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/xhr/cross-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/xhr/cross-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/xhr/cross-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/xhr/cross-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/xhr/cross-https.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/xhr/same-http-downgrade.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/xhr/same-http-downgrade.downgrade.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/xhr/same-http-downgrade.no-redirect.https.html": [
+    [
+     "upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/xhr/same-http-downgrade.no-redirect.https.html",
+     {}
+    ]
+   ],
+   "upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/xhr/same-https.downgrade.https.html": [
+    [
+     "upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/xhr/same-https.downgrade.https.html",
      {}
     ]
    ],
@@ -299468,86 +303623,6 @@
      }
     ]
    ],
-   "upgrade-insecure-requests/module-worker-import-upgrade.https.html": [
-    [
-     "upgrade-insecure-requests/module-worker-import-upgrade.https.html",
-     {}
-    ]
-   ],
-   "upgrade-insecure-requests/module-worker-redirect-upgrade.https.html": [
-    [
-     "upgrade-insecure-requests/module-worker-redirect-upgrade.https.html",
-     {}
-    ]
-   ],
-   "upgrade-insecure-requests/module-worker-upgrade.https.html": [
-    [
-     "upgrade-insecure-requests/module-worker-upgrade.https.html",
-     {}
-    ]
-   ],
-   "upgrade-insecure-requests/paint-worklet-import-upgrade.https.html": [
-    [
-     "upgrade-insecure-requests/paint-worklet-import-upgrade.https.html",
-     {}
-    ]
-   ],
-   "upgrade-insecure-requests/paint-worklet-redirect-upgrade.https.html": [
-    [
-     "upgrade-insecure-requests/paint-worklet-redirect-upgrade.https.html",
-     {}
-    ]
-   ],
-   "upgrade-insecure-requests/paint-worklet-upgrade.https.html": [
-    [
-     "upgrade-insecure-requests/paint-worklet-upgrade.https.html",
-     {}
-    ]
-   ],
-   "upgrade-insecure-requests/shared-worker-redirect-upgrade.https.html": [
-    [
-     "upgrade-insecure-requests/shared-worker-redirect-upgrade.https.html",
-     {}
-    ]
-   ],
-   "upgrade-insecure-requests/shared-worker-upgrade.https.html": [
-    [
-     "upgrade-insecure-requests/shared-worker-upgrade.https.html",
-     {}
-    ]
-   ],
-   "upgrade-insecure-requests/websocket-upgrade.https.html": [
-    [
-     "upgrade-insecure-requests/websocket-upgrade.https.html",
-     {}
-    ]
-   ],
-   "upgrade-insecure-requests/worker-redirect-upgrade.https.html": [
-    [
-     "upgrade-insecure-requests/worker-redirect-upgrade.https.html",
-     {}
-    ]
-   ],
-   "upgrade-insecure-requests/worker-subresource-fetch-redirect-upgrade.https.html": [
-    [
-     "upgrade-insecure-requests/worker-subresource-fetch-redirect-upgrade.https.html",
-     {
-      "timeout": "long"
-     }
-    ]
-   ],
-   "upgrade-insecure-requests/worker-subresource-fetch-upgrade.https.html": [
-    [
-     "upgrade-insecure-requests/worker-subresource-fetch-upgrade.https.html",
-     {}
-    ]
-   ],
-   "upgrade-insecure-requests/worker-upgrade.https.html": [
-    [
-     "upgrade-insecure-requests/worker-upgrade.https.html",
-     {}
-    ]
-   ],
    "url/a-element-origin-xhtml.xhtml": [
     [
      "url/a-element-origin-xhtml.xhtml",
@@ -334148,6 +338223,10 @@
    "06e728342cdb63a72b420423b40b6e32ae3e2162",
    "reftest"
   ],
+  "compat/webkit-box-removing-triggering-anonymous-merge.html": [
+   "8506425548b6ff97491e388dc1a1f3830aa790fc",
+   "testharness"
+  ],
   "compat/webkit-gradient-comma-expected.txt": [
    "5b646c544bea03650b341dc6d285349d08116a43",
    "support"
@@ -458901,7 +462980,7 @@
    "reftest"
   ],
   "mathml/relations/html5-tree/tabindex-001.html": [
-   "aaf82f77caa87cadd4dfa4706a2bc15192006a6a",
+   "8f8536881416584656277eeaaed4604b7f6def4d",
    "testharness"
   ],
   "mathml/relations/html5-tree/tabindex-002.html": [
@@ -485733,7 +489812,7 @@
    "support"
   ],
   "resources/chromium/webxr-test.js": [
-   "ccb7a008b8563ee101bed4bb720270ea51b0cf69",
+   "94031657b4b6d2698739eddf0bd4028e0aa8fdea",
    "support"
   ],
   "resources/chromium/webxr-test.js.headers": [
@@ -489921,11 +494000,11 @@
    "testharness"
   ],
   "shadow-dom/focus/focus-selector-delegatesFocus-expected.txt": [
-   "8b0d0bfc2ae13879b9b6a1dfb9b27f413c9d4ef3",
+   "362512535d5a56b7a54725207a512fc5ef10376b",
    "support"
   ],
   "shadow-dom/focus/focus-selector-delegatesFocus.html": [
-   "386045258e043f7b0849aaa366d34bb645f2f73f",
+   "3702f8e2ba63228cba5c483a76f2b77372e68c4d",
    "testharness"
   ],
   "shadow-dom/focus/focus-tabindex-order-shadow-negative.html": [
@@ -500520,28 +504599,3060 @@
    "43db381528ce362bf4a113e08c93a81131562e87",
    "support"
   ],
-  "upgrade-insecure-requests/animation-worklet-import-upgrade.https.html": [
-   "410322ac15325aed55773248d6c3664c44e6789e",
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/fetch/cross-http-downgrade.downgrade.https.html": [
+   "b85583ff2cee179ac58a7c429c79400c438c95b2",
    "testharness"
   ],
-  "upgrade-insecure-requests/animation-worklet-redirect-upgrade.https.html": [
-   "78ec628f75db028efbd4f7b3352aa493f543ce89",
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/fetch/cross-http-downgrade.no-redirect.https.html": [
+   "df420b3b9228a6cbda63cf7de47d47984c9cf9c0",
    "testharness"
   ],
-  "upgrade-insecure-requests/animation-worklet-upgrade.https.html": [
-   "3d451fe5ffe2562635ad3d5fcfb9eef96bc95b2a",
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/fetch/cross-https.downgrade.https.html": [
+   "d4bb05e83072b72b3e4910405db72eda6fce08d4",
    "testharness"
   ],
-  "upgrade-insecure-requests/audio-worklet-import-upgrade.https.html": [
-   "3786b3b699c20fcb5d4f57a89cf5eff453dac11e",
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/fetch/same-http-downgrade.downgrade.https.html": [
+   "6d15509430aad2f17f9412b28f5b7d1f5a0b3565",
    "testharness"
   ],
-  "upgrade-insecure-requests/audio-worklet-redirect-upgrade.https.html": [
-   "ecdc506a8a9ee591c490c7297d29f201808dfa8f",
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/fetch/same-http-downgrade.no-redirect.https.html": [
+   "7a7fa666b061e0e8f9ff820bc82aac35b2af171b",
    "testharness"
   ],
-  "upgrade-insecure-requests/audio-worklet-upgrade.https.html": [
-   "704bba994088a6e2197142a7ddbd71bc89eea7d8",
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/fetch/same-https.downgrade.https.html": [
+   "f4a2cf3b00d76ae9c0922f440951f1638bc793cf",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/iframe-tag/cross-http-downgrade.downgrade.https.html": [
+   "77d852eb7639e5916230d1ea7c0fee6a44938a40",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/iframe-tag/cross-http-downgrade.no-redirect.https.html": [
+   "8ddeada8b824951fb268d07fad6f77b7a91d2e70",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/iframe-tag/cross-https.downgrade.https.html": [
+   "ae8d161caec34dab699c2e0f9761473d18ec025d",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/iframe-tag/same-http-downgrade.downgrade.https.html": [
+   "32f330f3d5cec35afeaf98e9956543f5206dfd06",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/iframe-tag/same-http-downgrade.no-redirect.https.html": [
+   "52dd2dba9f71a9cd43232c29ad290cf34ce40080",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/iframe-tag/same-https.downgrade.https.html": [
+   "884636534e0a6d68d3aad05c6d9c86f947e8f442",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/img-tag/cross-http-downgrade.downgrade.https.html": [
+   "4e663d506f025b2a91ec37cbff82aae3c6a71bfe",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/img-tag/cross-http-downgrade.no-redirect.https.html": [
+   "3fe338de501f589a85ebb45276f4c1d69c2dd752",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/img-tag/cross-https.downgrade.https.html": [
+   "d3b84f01637bd100163b31fbd740572c1205ea91",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/img-tag/same-http-downgrade.downgrade.https.html": [
+   "e6f8e35fa213124ccb53e365bbe14ab09891a456",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/img-tag/same-http-downgrade.no-redirect.https.html": [
+   "0ad5ed13aa5c642c2985a27a3ca715b602c83471",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/img-tag/same-https.downgrade.https.html": [
+   "bd2ed054cffed919932a4a15680e05a020670060",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/sharedworker-classic/same-http-downgrade.downgrade.https.html": [
+   "86b0170706acd17a37d3a722734533e2dcbc9940",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/sharedworker-classic/same-http-downgrade.no-redirect.https.html": [
+   "274908b2b64d96e0abe0d0010f23f39c02b7bab4",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/sharedworker-classic/same-https.downgrade.https.html": [
+   "763fbd6d4aeb1e5ad5d5034e979602f7618f1263",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/websocket/cross-ws-downgrade.no-redirect.https.html": [
+   "fe77266af21527d0e5a5a8bb5ae816f01c327a43",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/websocket/same-ws-downgrade.no-redirect.https.html": [
+   "7e27068e2fbd8e40b1d8aefcd3fe4450de8271af",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-classic/same-http-downgrade.downgrade.https.html": [
+   "1144a7b9b11b5a69408f347f953ae6e971f48bd5",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-classic/same-http-downgrade.no-redirect.https.html": [
+   "47ecc6f9946648cc4c61eec0a8d8efcf880ba736",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-classic/same-https.downgrade.https.html": [
+   "3a75e263c7aa2c94fd9c985e634602dedd5434d8",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-import-data/cross-http-downgrade.downgrade.https.html": [
+   "cfb4519dd5be2488d077473ef43eaeba4af26888",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-import-data/cross-http-downgrade.no-redirect.https.html": [
+   "79e6ad251013ce23b31c6e1ff0efd7cc769d7a1e",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-import-data/cross-https.downgrade.https.html": [
+   "68064dccb9a0c84d332e1fc716464b08aeebb649",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-import-data/same-http-downgrade.downgrade.https.html": [
+   "fdb0f73e510d3fabb8c7a935fbd33b66993ad8a8",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-import-data/same-http-downgrade.no-redirect.https.html": [
+   "df11191e3708f6c67265fc524792c727f2a3a845",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-import-data/same-https.downgrade.https.html": [
+   "e3e47cf713a06890845053fedff8c0cf029f1dc9",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-module/same-http-downgrade.downgrade.https.html": [
+   "5976eb13ac0c78b5485af3b8e2dbbf161213f55b",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-module/same-http-downgrade.no-redirect.https.html": [
+   "61932351631d2cdf429c0bf420e0dd35f2215580",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-module/same-https.downgrade.https.html": [
+   "6c0cc3a6051427d4fc8e8a768af8eca459be685e",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation-import-data/cross-http-downgrade.downgrade.https.html": [
+   "73f1ba54fd4bddaffa834e2ed2d8442cf35429e4",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation-import-data/cross-http-downgrade.no-redirect.https.html": [
+   "0267b811121c1939fa46b46379fdc25a2b45a7ce",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation-import-data/cross-https.downgrade.https.html": [
+   "dc014dea99c19768d2164cc10cd7bb4244c9c188",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation-import-data/same-http-downgrade.downgrade.https.html": [
+   "781d3c656923dde6f968f771fd6d44cd66b3c36f",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation-import-data/same-http-downgrade.no-redirect.https.html": [
+   "9475c532a51bdfaa5605bb4f6a0f1f7da1fa8caa",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation-import-data/same-https.downgrade.https.html": [
+   "7e574f94292e10f92cfaa18ce40f7648b8bc577e",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation/cross-http-downgrade.downgrade.https.html": [
+   "8e0e431c156c4ffb0007aa7ac2bb576ab879d4e3",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation/cross-http-downgrade.no-redirect.https.html": [
+   "70314595f530880b122a953575eb5b0b26b71548",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation/cross-https.downgrade.https.html": [
+   "126a81d2e1c5b6eac6da5c6524d39cfb49a33892",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation/same-http-downgrade.downgrade.https.html": [
+   "9c4e0e292359d3e83f6509717906edf67fac48fc",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation/same-http-downgrade.no-redirect.https.html": [
+   "1360503d81b0246a9c71bd3d47c62f911b0c3e90",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation/same-https.downgrade.https.html": [
+   "5ed35529540118170928ea2204f564e50b2ecc4b",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio-import-data/cross-http-downgrade.downgrade.https.html": [
+   "a61c8f79f39578d39f92827dd1feb51279fd6457",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio-import-data/cross-http-downgrade.no-redirect.https.html": [
+   "61b78e828321ea7ff3a1aa2b7f576f4fd230c820",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio-import-data/cross-https.downgrade.https.html": [
+   "e4d12ee64c5d15453e6a385e4393aaec3adcc907",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio-import-data/same-http-downgrade.downgrade.https.html": [
+   "806e148059eaae586e2a111bdef10020c1763853",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio-import-data/same-http-downgrade.no-redirect.https.html": [
+   "11890a310b9efb5e270cb80fb3abe636e929cf32",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio-import-data/same-https.downgrade.https.html": [
+   "4158e4e4eef1038f2e5ef44cb538fccb26575717",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio/cross-http-downgrade.downgrade.https.html": [
+   "032ddc9c40ac6759503b6ba12dbcc5543c49cbdf",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio/cross-http-downgrade.no-redirect.https.html": [
+   "63081ef51f2c68ee3405f672144d89ff55e99658",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio/cross-https.downgrade.https.html": [
+   "abd52ef4dc1efad21a10233aef1729920238708f",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio/same-http-downgrade.downgrade.https.html": [
+   "9c7b931f3ef52379df464764d343a46ee6d7c4f0",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio/same-http-downgrade.no-redirect.https.html": [
+   "4cfa5018a38747c823bf963f39a38701434a67bc",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio/same-https.downgrade.https.html": [
+   "a4aebcbbd98178fbcf8aaa8be5f699d4c9495aa8",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout-import-data/cross-http-downgrade.downgrade.https.html": [
+   "8eb246cb3a1efb5cc5123949427db4e318050697",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout-import-data/cross-http-downgrade.no-redirect.https.html": [
+   "ce5fcdc9cfd58c85b014595d09f6fc3430c56891",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout-import-data/cross-https.downgrade.https.html": [
+   "a765c02906a29016552b57307377f87838ef0556",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout-import-data/same-http-downgrade.downgrade.https.html": [
+   "d83ecefa811210c65b677e21f2b156b47b02f547",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout-import-data/same-http-downgrade.no-redirect.https.html": [
+   "d7d6ff4f9d53fa9dddd0928ba30acd8e105f8181",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout-import-data/same-https.downgrade.https.html": [
+   "34b9b4a53504727e46c42e46fd1fbc0654ece2d9",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout/cross-http-downgrade.downgrade.https.html": [
+   "45715ea321e9d98dbdd0bf91897b3adb0ff98c93",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout/cross-http-downgrade.no-redirect.https.html": [
+   "99a80ac234926f58c34c5ad64eafcaacda3bef1b",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout/cross-https.downgrade.https.html": [
+   "2776905a788b8077d6f9114f5352b7e15965c94e",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout/same-http-downgrade.downgrade.https.html": [
+   "275dc056892b654ade7ac28ec3a8a657eeed0326",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout/same-http-downgrade.no-redirect.https.html": [
+   "3f72a04ab5caf976f8973c1e225e9712fac55e4b",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout/same-https.downgrade.https.html": [
+   "e038c8edbaa6c3d86c82421cd99426756b00fd6d",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint-import-data/cross-http-downgrade.downgrade.https.html": [
+   "367bedfb2e10bc81c9ce10d1b022d34ea32a30e6",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint-import-data/cross-http-downgrade.no-redirect.https.html": [
+   "45c8a2cbb42b3f7683c76d80ebd0d6b6dea3bd9f",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint-import-data/cross-https.downgrade.https.html": [
+   "8b3ad88a2c3d731f323cc26b42459ceac1c62ee3",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint-import-data/same-http-downgrade.downgrade.https.html": [
+   "9d9fe1d50de33ca65f8541da793d0d8801d91e4a",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint-import-data/same-http-downgrade.no-redirect.https.html": [
+   "d08ddfbd465bb1cac26bc723942e8f3d4ea1aeef",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint-import-data/same-https.downgrade.https.html": [
+   "e9e26b1991fc3b47dded3945c1b62173d896dfa9",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint/cross-http-downgrade.downgrade.https.html": [
+   "37d16b63a4e05e4833b25dc7d7b5fc49dabd70b8",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint/cross-http-downgrade.no-redirect.https.html": [
+   "3336529a41a884fb38c0b3d708d06b7d2a53e961",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint/cross-https.downgrade.https.html": [
+   "35ffbd75717985efcb6529fa0114d9cff4456f8d",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint/same-http-downgrade.downgrade.https.html": [
+   "b92163e44e8a8ee9abdab660aba190bb430f8c1b",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint/same-http-downgrade.no-redirect.https.html": [
+   "bab2213df094c0fac96ca7d45f4be07f78e1b0da",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint/same-https.downgrade.https.html": [
+   "7a1e3f58291bc2d2a09d056f304b2765e0d89574",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/xhr/cross-http-downgrade.downgrade.https.html": [
+   "87f334e74460bedcaf94954ee74b08ec2fd6211f",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/xhr/cross-http-downgrade.no-redirect.https.html": [
+   "077f00c4ae29eb960ab991d9c3ba78fe003b00f4",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/xhr/cross-https.downgrade.https.html": [
+   "112f3c086853411706b57836e17afb753c3a0c94",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/xhr/same-http-downgrade.downgrade.https.html": [
+   "fa4303f50406f3ae61f23409ec1c36581da7b51c",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/xhr/same-http-downgrade.no-redirect.https.html": [
+   "066aae1b89898ba45ef31493dbca512103e467dc",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/xhr/same-https.downgrade.https.html": [
+   "7611729514162327a2ee0921a222992576c82514",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/fetch/cross-http-downgrade.downgrade.https.html": [
+   "4d815c09833630af9f69ad5df7c96f7e394f1317",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/fetch/cross-http-downgrade.no-redirect.https.html": [
+   "cde4f053c8157c7ef3c5185117bed8824f48e53c",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/fetch/cross-https.downgrade.https.html": [
+   "3ef18070f9fb6dca5d381d7b05a040a3e1f97a7f",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/fetch/same-http-downgrade.downgrade.https.html": [
+   "1162d570b1553497b9be0b7a9709b5376e5f4179",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/fetch/same-http-downgrade.no-redirect.https.html": [
+   "a001d36f709cfddde630bcfb7ad535cc3ac5ca61",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/fetch/same-https.downgrade.https.html": [
+   "c120ee16693c564dfd70ad7a72d328da68c0100d",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/iframe-tag/cross-http-downgrade.downgrade.https.html": [
+   "ddc751483fe3e4bfb8ff2f422cb580cd9a05273d",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/iframe-tag/cross-http-downgrade.no-redirect.https.html": [
+   "f55db96fc32f2238b5fa4c9270726b59df139214",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/iframe-tag/cross-https.downgrade.https.html": [
+   "f16e2151ff5db3c17146e7885400c8412d6e15ba",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/iframe-tag/same-http-downgrade.downgrade.https.html": [
+   "461d81f9c3cff31823ad361e7ca19823985862dd",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/iframe-tag/same-http-downgrade.no-redirect.https.html": [
+   "cfb5a665ba140632dfcbfbfd811225e886338afa",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/iframe-tag/same-https.downgrade.https.html": [
+   "eef7cf479398ab2f16b609a1455b59484eb187b3",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/img-tag/cross-http-downgrade.downgrade.https.html": [
+   "4b45675dff208ab6e68898086981bc6ec8151d2e",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/img-tag/cross-http-downgrade.no-redirect.https.html": [
+   "1305ce818a0513469b4400226aa6ff090a9dccb6",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/img-tag/cross-https.downgrade.https.html": [
+   "eac2bbf8f731383570438fd81bba787fc4f89ee0",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/img-tag/same-http-downgrade.downgrade.https.html": [
+   "6a03e5715b04adbb579d6783c2a358f7452cc2a0",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/img-tag/same-http-downgrade.no-redirect.https.html": [
+   "2a38cb54683fa0d7721f92685385d3df408ee0f1",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/img-tag/same-https.downgrade.https.html": [
+   "9e3e1bf9cf14d4d1abf2842e08c8e1afd7af5fe1",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/sharedworker-classic/same-http-downgrade.downgrade.https-expected.txt": [
+   "cded8b5db236b232eb06d37b40bd576c5a9769a7",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/sharedworker-classic/same-http-downgrade.downgrade.https.html": [
+   "884844f93a24e0e7a8126600737d646275ccec46",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/sharedworker-classic/same-http-downgrade.no-redirect.https-expected.txt": [
+   "b1995164a9ee5e61f009f1d2374781375cb96751",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/sharedworker-classic/same-http-downgrade.no-redirect.https.html": [
+   "5f4ef1d07998c766c5f10da0f95ff60115e3c6ab",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/sharedworker-classic/same-https.downgrade.https.html": [
+   "800de216b57cb2e0efeccddb580639df1fd775ac",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/websocket/cross-ws-downgrade.no-redirect.https.html": [
+   "ccbff1f2520de57ab8a3e5debdfd76c198d0aae9",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/websocket/same-ws-downgrade.no-redirect.https.html": [
+   "6fcd98373ee0407ae55eaffa278d361d61b5f776",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-classic/same-http-downgrade.downgrade.https-expected.txt": [
+   "87009a425e1431380f6deed2f93ea7bf2a43b521",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-classic/same-http-downgrade.downgrade.https.html": [
+   "c033a44cd9bda5886fd136053631ce7291fc77ac",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-classic/same-http-downgrade.no-redirect.https-expected.txt": [
+   "643d31a8ba0680aa4cbc426c620814766d2857b4",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-classic/same-http-downgrade.no-redirect.https.html": [
+   "99cee0b279e4ce859b8845fd8a3a2cc47c85af7a",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-classic/same-https.downgrade.https.html": [
+   "b542ddc27a8d2e957ad0b6017d0d4332b5f21388",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-import-data/cross-http-downgrade.downgrade.https.html": [
+   "a11b956cfd54522ed66ea3f79c93ec21c546c89f",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-import-data/cross-http-downgrade.no-redirect.https.html": [
+   "0369b4d42431cf80e244826cf9510f4c9bc35e73",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-import-data/cross-https.downgrade.https.html": [
+   "b10b8bc2c37f987b766dc0041ed8eebed3984db2",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-import-data/same-http-downgrade.downgrade.https.html": [
+   "276c608c2d4c24967d7ca10395ea50239261f79e",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-import-data/same-http-downgrade.no-redirect.https.html": [
+   "a81788231131fbd1755883d7aa8462461caeebc1",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-import-data/same-https.downgrade.https.html": [
+   "1c88f0066f69154a71e39c677bd018c73f5b5486",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-module/same-http-downgrade.downgrade.https-expected.txt": [
+   "182f777530ff7e9ce74f128c81effee4f50df748",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-module/same-http-downgrade.downgrade.https.html": [
+   "80299bba9f33cc74fe0fc9b6705bfa6b5ababaae",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-module/same-http-downgrade.no-redirect.https-expected.txt": [
+   "e7c151b12516d382a47cd72488c5739f6542a135",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-module/same-http-downgrade.no-redirect.https.html": [
+   "2d7a2070d3ba7fb50194bad9d7b89343df809d69",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-module/same-https.downgrade.https.html": [
+   "a73e68bfb4eb5a52a3e590e610b9805d1c045b00",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation-import-data/cross-http-downgrade.downgrade.https.html": [
+   "f3b00d61d51fcbdf442acdeda4dd5b4b5a0dd936",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation-import-data/cross-http-downgrade.no-redirect.https.html": [
+   "4b42be9e79b0061a1f44f0e6034a2d5d0c6ab90f",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation-import-data/cross-https.downgrade.https.html": [
+   "279fb691fd324691c78ec04e12095e67434fbdef",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation-import-data/same-http-downgrade.downgrade.https.html": [
+   "302bc0c2046cc57acd6ad1685ba518df9535e029",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation-import-data/same-http-downgrade.no-redirect.https.html": [
+   "5f90729c0fc7bad1b21531f88fa19d63f5aa2403",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation-import-data/same-https.downgrade.https.html": [
+   "b639698b97423257e68e002b6f8ad43d0dac85a3",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation/cross-http-downgrade.downgrade.https.html": [
+   "ce203e6d65c16d6428de605c389d31e4de8b7a68",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation/cross-http-downgrade.no-redirect.https.html": [
+   "efb198727fea7a1b1a71670247f8a7d651b7a7b9",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation/cross-https.downgrade.https.html": [
+   "6baa7f45ebfd7d7aeafc0b69763d7a04aff3848a",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation/same-http-downgrade.downgrade.https.html": [
+   "439a7c9a226fc93aee7267282e5434a4055a8c7a",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation/same-http-downgrade.no-redirect.https.html": [
+   "3fad5f1021d5d4213c755ded63e24b727ec5c339",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation/same-https.downgrade.https.html": [
+   "ff5bd878fdca5fd6ff9831959c35f8fc543c69d9",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio-import-data/cross-http-downgrade.downgrade.https.html": [
+   "350f8a63f05f324f3c75db143693ac8ee946309d",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio-import-data/cross-http-downgrade.no-redirect.https.html": [
+   "5662c12dbb875bbf87a7b50cf1c443aaa431fef6",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio-import-data/cross-https.downgrade.https.html": [
+   "5fb887f80eee93932e589da11e5da68804c1f3e5",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio-import-data/same-http-downgrade.downgrade.https.html": [
+   "36d14f7f5aa931449cabfdbe687444d400782983",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio-import-data/same-http-downgrade.no-redirect.https.html": [
+   "35298ee1b8080f63a8015cca3904a582a4c7a9a9",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio-import-data/same-https.downgrade.https.html": [
+   "ecc03d266e6e7e6c74034c051cd1c09deb5421f4",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio/cross-http-downgrade.downgrade.https.html": [
+   "4dff0bf1b2d574ef16be178d5299cabf8b2a671e",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio/cross-http-downgrade.no-redirect.https.html": [
+   "14206c8fd12f673ba7e06488029320f28f5563e4",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio/cross-https.downgrade.https.html": [
+   "82b7ecbea44639335de9518135064fc43f64d7ca",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio/same-http-downgrade.downgrade.https.html": [
+   "a5885baa2fc1c319c0facbfa37ac3be0120f2e1a",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio/same-http-downgrade.no-redirect.https.html": [
+   "47337cdcb96487c12c7e298c81e3650108869211",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio/same-https.downgrade.https.html": [
+   "2a03d160571d03aa53eade692e58bff9216dc37f",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout-import-data/cross-http-downgrade.downgrade.https.html": [
+   "7fe5ae10f311b96803f9d5f47d5056b86a894daf",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout-import-data/cross-http-downgrade.no-redirect.https.html": [
+   "b6b6e029df96f4c16f6fd6bd3b93999d5a8516df",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout-import-data/cross-https.downgrade.https.html": [
+   "abd8f2624eacee52f93a739456cf38fbc1204f2f",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout-import-data/same-http-downgrade.downgrade.https.html": [
+   "14bcb5f47e0bc5ff9b0258125fe98521d191bbfa",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout-import-data/same-http-downgrade.no-redirect.https.html": [
+   "241ef9106892aff3d368326f9b025fdd7cb2c3a2",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout-import-data/same-https.downgrade.https.html": [
+   "0b3ea13ad3475ff48e36986e209e88d6542ff182",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout/cross-http-downgrade.downgrade.https.html": [
+   "01023441d822685be6808d6eb1c50c666a25d495",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout/cross-http-downgrade.no-redirect.https.html": [
+   "ced106f8f2b57f64263d4283a661bd784152d85f",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout/cross-https.downgrade.https.html": [
+   "96bb1c7fc337bb1eb8a33a8d384f46678a32730c",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout/same-http-downgrade.downgrade.https.html": [
+   "d63911d54bf2dbd0b9b4cf4e8b49f62e396d7fd1",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout/same-http-downgrade.no-redirect.https.html": [
+   "f7dd01186fee2167113668b240a32582b4be5e76",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout/same-https.downgrade.https.html": [
+   "072e5d3ca9652b1617049441440526817ad8c2b4",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint-import-data/cross-http-downgrade.downgrade.https.html": [
+   "89f861305c21df4fd31db7b757bd3571aa027d5c",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint-import-data/cross-http-downgrade.no-redirect.https.html": [
+   "ded8c8320f801726a2cbe05258ebce8b832afc49",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint-import-data/cross-https.downgrade.https.html": [
+   "7ebca39bec661f652aeb6ae7a262742e452aca97",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint-import-data/same-http-downgrade.downgrade.https.html": [
+   "266bb331dacf5e5e31c8c1e82b09ee721769f736",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint-import-data/same-http-downgrade.no-redirect.https.html": [
+   "2d2cbdc8056dc73ee7b5394d330a6f7f3e9892cc",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint-import-data/same-https.downgrade.https.html": [
+   "b37b7ad7e49477b55e289cfb625b6391eeb97aea",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint/cross-http-downgrade.downgrade.https.html": [
+   "9e8c20c4d4a082d4937bda7e0f469ab0e5d5e14e",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint/cross-http-downgrade.no-redirect.https.html": [
+   "cc521e77d5800d4df5c19045c2daac57b9a95c2f",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint/cross-https.downgrade.https.html": [
+   "59b4555e33c32f6c0542c0cdfaad3a0125795767",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint/same-http-downgrade.downgrade.https.html": [
+   "e0a2a80419cb5fd1e518b8d18f98cc7f977b80f9",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint/same-http-downgrade.no-redirect.https.html": [
+   "0c0fe5c37ce700a752c7a7faaab014932b99d140",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint/same-https.downgrade.https.html": [
+   "8d3ab709d9c4990e3c9b5a1bbbe486c1188531db",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/xhr/cross-http-downgrade.downgrade.https.html": [
+   "4bbdbc0178c6fe63e8849c28f5c236f41bfd0a2d",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/xhr/cross-http-downgrade.no-redirect.https.html": [
+   "e2c199e9eca36f8aaff8bf5bd76dde6f76d533ed",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/xhr/cross-https.downgrade.https.html": [
+   "614e6e837bfb4f403527ddf045b1f5851e27e52b",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/xhr/same-http-downgrade.downgrade.https.html": [
+   "ee3bfdaa7b042e80d7c7010b361ed513227f10c9",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/xhr/same-http-downgrade.no-redirect.https.html": [
+   "969e0cfd7179de03bf6eb7d561875109fef6e99a",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/xhr/same-https.downgrade.https.html": [
+   "af181e9462c702f1f0cd257e48240f53ec9f6c61",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/fetch/cross-http-downgrade.downgrade.https.html": [
+   "6f165b83c1cf829a82a7512054425d9548dabc44",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/fetch/cross-http-downgrade.no-redirect.https.html": [
+   "c154ae6d42ac951b82cf447cbda5a210a56d413c",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/fetch/cross-https.downgrade.https.html": [
+   "19cada4b11623bd52c865f2ad7b21810f0b14ef1",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/fetch/same-http-downgrade.downgrade.https.html": [
+   "7cfede294796f2355a3053493d0b8252aeaf2634",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/fetch/same-http-downgrade.no-redirect.https.html": [
+   "54a5e9a1cd2350e69d98a1db59776e563c16e41f",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/fetch/same-https.downgrade.https.html": [
+   "9ec1a6777cc6825a602d58d797ec2f982ebbc4d5",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/iframe-tag/cross-http-downgrade.downgrade.https.html": [
+   "9b4828ac45e1afd6b53a1c5fd2ce015bd259c369",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/iframe-tag/cross-http-downgrade.no-redirect.https.html": [
+   "f6342e1a26fe88ffde2290b62973783b593223da",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/iframe-tag/cross-https.downgrade.https.html": [
+   "48966792c3b1d41827ab8b626e13e7a57ed83828",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/iframe-tag/same-http-downgrade.downgrade.https.html": [
+   "efa9eba08e50de7759ea9b13ce1d2e34d8354be4",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/iframe-tag/same-http-downgrade.no-redirect.https.html": [
+   "2e78cec61ec2c322fb68b1ca5459d644bc41e2ed",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/iframe-tag/same-https.downgrade.https.html": [
+   "7c3d637ad42ceb49dcecb3099370f77269c60e5a",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/img-tag/cross-http-downgrade.downgrade.https.html": [
+   "ec4bc932d80a421424cf08e601349f4ae00fe7e9",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/img-tag/cross-http-downgrade.no-redirect.https.html": [
+   "139b07bf21d1976f14495e3adbd1a14a08241637",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/img-tag/cross-https.downgrade.https.html": [
+   "0c325ea3f382782ee5d46d6e319da808b0ef9aeb",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/img-tag/same-http-downgrade.downgrade.https.html": [
+   "e82d1c11e8a695d0c7dbc39058f52b893cbd14b9",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/img-tag/same-http-downgrade.no-redirect.https.html": [
+   "64ba3c24ca345db22868bb81659af0a749d27fc9",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/img-tag/same-https.downgrade.https.html": [
+   "f7251e7b494c2b5a2e2484c4ea19e7689b7529f2",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/sharedworker-classic/same-http-downgrade.downgrade.https.html": [
+   "4eb31979ea6eb2664b7626a784eac58894a362f0",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/sharedworker-classic/same-http-downgrade.no-redirect.https.html": [
+   "91eb40ea62fedb686ea8512dbd7b7993a1342698",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/sharedworker-classic/same-https.downgrade.https.html": [
+   "36554b70c19c0225796135901364c7e85ebaacf3",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/websocket/cross-ws-downgrade.no-redirect.https.html": [
+   "8212f346ccee8232c57c7d99eacaf8018521ba79",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/websocket/same-ws-downgrade.no-redirect.https.html": [
+   "5cb9d5f2b66049c8ff7b78c51242e53a924a5cfa",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-classic/same-http-downgrade.downgrade.https.html": [
+   "7d6a1f9cd9e24a745b7e9567e83f10456da4dcb2",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-classic/same-http-downgrade.no-redirect.https.html": [
+   "106ec53007d28f45b4a4f02c81a51768472463aa",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-classic/same-https.downgrade.https.html": [
+   "ca8c3d69cd0599322be1346e5fda020c4727ce4f",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-import-data/cross-http-downgrade.downgrade.https.html": [
+   "dbd24d34e9be8c5d4488869d830cb2d78b1e037e",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-import-data/cross-http-downgrade.no-redirect.https.html": [
+   "6514b983f2fac9143bbe2f62b0026d82e2171e50",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-import-data/cross-https.downgrade.https.html": [
+   "18f496083f2879799471d52c45c103dc6fe46236",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-import-data/same-http-downgrade.downgrade.https.html": [
+   "0c16aff1991d9860dbcf94c84a5d6012de25af58",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-import-data/same-http-downgrade.no-redirect.https.html": [
+   "524b56d2ed339fdafb40a241f54b651e3acae565",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-import-data/same-https.downgrade.https.html": [
+   "c6339c9dd410544c992934763708bb9b73177577",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-module/same-http-downgrade.downgrade.https.html": [
+   "da5ea1a8a0f065d3fecebd196686a309f02e6ba2",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-module/same-http-downgrade.no-redirect.https.html": [
+   "3896037c69d092ccb4030c2d3f7a73ac2aba2d5b",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-module/same-https.downgrade.https.html": [
+   "039baf92d1578f147134eb6307a45f367527600b",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation-import-data/cross-http-downgrade.downgrade.https.html": [
+   "0309cb0423094ee0cb090ba3e107bcfc0ee57794",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation-import-data/cross-http-downgrade.no-redirect.https.html": [
+   "2434b96497566b102408217964927c773fda9a22",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation-import-data/cross-https.downgrade.https.html": [
+   "ba6f77826a42637dcbe4fee78140f87e7913da10",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation-import-data/same-http-downgrade.downgrade.https.html": [
+   "6ebeaa6dc838d14852fd65687e32efc645902eea",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation-import-data/same-http-downgrade.no-redirect.https.html": [
+   "c1c863566d30248d81c29a61c3d0ff1ed5cc83e2",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation-import-data/same-https.downgrade.https.html": [
+   "9298d15d08a4c4a49680a3df2f50a247170f4c0b",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation/cross-http-downgrade.downgrade.https.html": [
+   "a26939d28880fd7c79bc2251391a6660b53fedd7",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation/cross-http-downgrade.no-redirect.https.html": [
+   "2a4cf1e56d847e2a5e6b7e28f26d90aceee6827a",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation/cross-https.downgrade.https.html": [
+   "154b6d0c812a84816a1db1f64cb4ca8dc6ce9546",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation/same-http-downgrade.downgrade.https.html": [
+   "bb1c98a99be815f7d1e7342e0d8dd89106bbecc0",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation/same-http-downgrade.no-redirect.https.html": [
+   "1c7729e0076b9c137dc907abdf451e335a04c899",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation/same-https.downgrade.https.html": [
+   "9672cfacc0031f3f070e5584100542fc36e302b3",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio-import-data/cross-http-downgrade.downgrade.https.html": [
+   "673dcb393ad3799f91925b37d0b080841e515d02",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio-import-data/cross-http-downgrade.no-redirect.https.html": [
+   "4ef84c7d605c2a681c2506b2a511846f0ebc5769",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio-import-data/cross-https.downgrade.https.html": [
+   "6b6d8d918fe8b22330874054b284b9354ad8f732",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio-import-data/same-http-downgrade.downgrade.https.html": [
+   "c7e3806b3b7363209444fc63f38bc88496a1077f",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio-import-data/same-http-downgrade.no-redirect.https.html": [
+   "e25c166085dfb12c803dba93e03473649fda60a9",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio-import-data/same-https.downgrade.https.html": [
+   "911ba1494e6e95c288241ebd0ca78b755c8bb488",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio/cross-http-downgrade.downgrade.https.html": [
+   "e4362718a20e309e21c0290b16593bc904ad304c",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio/cross-http-downgrade.no-redirect.https.html": [
+   "0248efb910f333573eb133b4cef3fad5d8039534",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio/cross-https.downgrade.https.html": [
+   "06194f2410e661cc17469fd1bfb817d92a186e3f",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio/same-http-downgrade.downgrade.https.html": [
+   "bf9cada8a18a5e83c6c328a9c4f561d39371a16f",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio/same-http-downgrade.no-redirect.https.html": [
+   "413116bcf292b677b22f5e9dae0d3d7248055cc7",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio/same-https.downgrade.https.html": [
+   "c067eba190507df61d24c1b61d67b3544e9d4979",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout-import-data/cross-http-downgrade.downgrade.https.html": [
+   "141146d56419a58eb8f97d40fd32cec597c72803",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout-import-data/cross-http-downgrade.no-redirect.https.html": [
+   "075d6d2e57e2efaf22eb197d550840ebc004feaf",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout-import-data/cross-https.downgrade.https.html": [
+   "5f93b90b63b91172974b7e35a9ec8059b70171c5",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout-import-data/same-http-downgrade.downgrade.https.html": [
+   "494acbeaa7b24f8dbdde7c85b40f0d7558eebfd6",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout-import-data/same-http-downgrade.no-redirect.https.html": [
+   "8342a27b190f984fe5113f7afca27d67db8f1b9b",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout-import-data/same-https.downgrade.https.html": [
+   "de0e3f5c25ac4d7e811f1e7a5d648a2aeba5af03",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout/cross-http-downgrade.downgrade.https.html": [
+   "ca849d8bfe0dbb45add989c9128d5e26dd476766",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout/cross-http-downgrade.no-redirect.https.html": [
+   "276e785e30fa0e51d121da641a473ce089bf0bd9",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout/cross-https.downgrade.https.html": [
+   "0cb383af95a497bf4e2cce8c821df0ef4e7a1d98",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout/same-http-downgrade.downgrade.https.html": [
+   "eb79935b7bfd3bc310fc966eac27e854ee091d04",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout/same-http-downgrade.no-redirect.https.html": [
+   "823e1f14a5f3e5d5efff1a5e2fbbad8502dd008e",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout/same-https.downgrade.https.html": [
+   "d28a67c7d86d5b336291106cbc799d08f5c25f26",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint-import-data/cross-http-downgrade.downgrade.https.html": [
+   "8afab24493852d495bfda27bdd09d26b22004fb4",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint-import-data/cross-http-downgrade.no-redirect.https.html": [
+   "95bfb178a3624c7406abadfdd84169ae32492af9",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint-import-data/cross-https.downgrade.https.html": [
+   "c54e3fa73e7e9a094f020dd51ca056aa29886e14",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint-import-data/same-http-downgrade.downgrade.https.html": [
+   "0608f35a1e988dc68125560d91f684044cc33981",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint-import-data/same-http-downgrade.no-redirect.https.html": [
+   "6d1eaad35533de29f0eb495c20707c5253b4cba0",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint-import-data/same-https.downgrade.https.html": [
+   "31a8aecee617f290f3feafdcb92a835caa58fc71",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint/cross-http-downgrade.downgrade.https.html": [
+   "dd9c10d27c6ea8df9428c90bb56f5fc84f80f07c",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint/cross-http-downgrade.no-redirect.https.html": [
+   "c7db718d84bdb320383d09b012bbc9c4f646d92a",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint/cross-https.downgrade.https.html": [
+   "d1f554ff94d67bb7dd07e2910132a0ac579344a9",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint/same-http-downgrade.downgrade.https.html": [
+   "474b54b2a1267b8ab6e549293f648cd8859fbc3e",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint/same-http-downgrade.no-redirect.https.html": [
+   "a72e46f34b4616d4d45c12cc029b7a6ccf006382",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint/same-https.downgrade.https.html": [
+   "212288de464abdc783b3a3ba46c2629c842ca0f3",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/xhr/cross-http-downgrade.downgrade.https.html": [
+   "8647515e7e9067351459e968910e79611d5b9ff3",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/xhr/cross-http-downgrade.no-redirect.https.html": [
+   "e1eb57b8a098bde074b4706129b3286c28331f15",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/xhr/cross-https.downgrade.https.html": [
+   "bb110192d28ea919966d5cde49fd6f24529a88ce",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/xhr/same-http-downgrade.downgrade.https.html": [
+   "8edb94b6b020c1b02b80ed10ea865923c7a9148a",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/xhr/same-http-downgrade.no-redirect.https.html": [
+   "38d91f2692827ae4488e4206c6ecde8b017eb5a0",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/xhr/same-https.downgrade.https.html": [
+   "2bce883ad36dc6c346f7c9d4dddd12e0d59de66b",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/fetch/cross-http-downgrade.downgrade.https.html": [
+   "a551418cb19cb8073e946508af4b848cd0087cab",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/fetch/cross-http-downgrade.no-redirect.https.html": [
+   "f4d9cc7fbf0c262db85a6712be760bbb61e19ac7",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/fetch/cross-https.downgrade.https.html": [
+   "123b1eba94512c33fcdcc36111447bef62f71658",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/fetch/same-http-downgrade.downgrade.https.html": [
+   "c64f24573b6a20e32b1d21888d4ab5f145ddbb24",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/fetch/same-http-downgrade.no-redirect.https.html": [
+   "f9d119487b5fd7273adcd8a6f7389cec41538362",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/fetch/same-https.downgrade.https.html": [
+   "5b132dd6996f876e21c2a0326e6b5b9a062f4a72",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/iframe-tag/cross-http-downgrade.downgrade.https.html": [
+   "6b0f777b0605aa10cc8d20025acda5315bcab24c",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/iframe-tag/cross-http-downgrade.no-redirect.https.html": [
+   "fc07cfc37c74bae887387e28c78efef4529b1aa7",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/iframe-tag/cross-https.downgrade.https.html": [
+   "06b2b8ee803815bc492161026ef368137fa5bf6f",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/iframe-tag/same-http-downgrade.downgrade.https.html": [
+   "0c84e45c6b2cd9211cd05733bbe5549536f698fc",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/iframe-tag/same-http-downgrade.no-redirect.https.html": [
+   "9430c55226ad0a790ef39b46ffab6f9ee336d5c6",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/iframe-tag/same-https.downgrade.https.html": [
+   "5d78db1ea99c3d02a081fcadcbffaecaf30e9d51",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/img-tag/cross-http-downgrade.downgrade.https.html": [
+   "818f0181b92f5543ae8ee99905e1cb2e6073da11",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/img-tag/cross-http-downgrade.no-redirect.https.html": [
+   "3c5eb7fd4f9d26a0df18749f44eaea19fabe64e2",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/img-tag/cross-https.downgrade.https.html": [
+   "d636efdc455b9c3fb9414e1a844a953947910336",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/img-tag/same-http-downgrade.downgrade.https.html": [
+   "24eb4fcdd9d4b343dbdb12a0c8921b7147c1b311",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/img-tag/same-http-downgrade.no-redirect.https.html": [
+   "c71a1f235c1c7947a678914c2d020005d257747e",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/img-tag/same-https.downgrade.https.html": [
+   "1b200882673d1af8da64a5cd054da514fa018ca7",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/sharedworker-classic/same-http-downgrade.downgrade.https-expected.txt": [
+   "cded8b5db236b232eb06d37b40bd576c5a9769a7",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/sharedworker-classic/same-http-downgrade.downgrade.https.html": [
+   "24badc0b54b97e262e976f28f324ef0c518fd7d2",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/sharedworker-classic/same-http-downgrade.no-redirect.https-expected.txt": [
+   "b1995164a9ee5e61f009f1d2374781375cb96751",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/sharedworker-classic/same-http-downgrade.no-redirect.https.html": [
+   "3b90431dec4ad925739473d8502087fbc664ae7b",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/sharedworker-classic/same-https.downgrade.https.html": [
+   "d8df110ca214c414975b702883f73148f97a882f",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/websocket/cross-ws-downgrade.no-redirect.https.html": [
+   "b1f5b39f02e0810623b57c6cf9ca69c422c8a6ca",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/websocket/same-ws-downgrade.no-redirect.https.html": [
+   "64e96fd5511c78139ced13b06798649d0dc7850a",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-classic/same-http-downgrade.downgrade.https-expected.txt": [
+   "87009a425e1431380f6deed2f93ea7bf2a43b521",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-classic/same-http-downgrade.downgrade.https.html": [
+   "90368ada345f0ba341e68ba8af1612b6da194a71",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-classic/same-http-downgrade.no-redirect.https-expected.txt": [
+   "643d31a8ba0680aa4cbc426c620814766d2857b4",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-classic/same-http-downgrade.no-redirect.https.html": [
+   "7155bcabc8331598023abf96bbad6a3f7a8900b3",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-classic/same-https.downgrade.https.html": [
+   "1293e4bfdde01dc1e30360fbba069118b9840e90",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-import-data/cross-http-downgrade.downgrade.https.html": [
+   "f045f76b74368cddf727b220f5c0e9aaabfde49e",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-import-data/cross-http-downgrade.no-redirect.https.html": [
+   "4e846317d2ff6966cbddddecc08c93be6981076b",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-import-data/cross-https.downgrade.https.html": [
+   "c1c95cc4e2771561cde77a79277d37d33c51851c",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-import-data/same-http-downgrade.downgrade.https.html": [
+   "d9bcd0163ef0c8bd99957760e7926369e58f9c8b",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-import-data/same-http-downgrade.no-redirect.https.html": [
+   "26eeefb54a1a55dd716e301786324ec45e439d8f",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-import-data/same-https.downgrade.https.html": [
+   "2208f8879c095b49647f4e208cbf246cd8394452",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-module/same-http-downgrade.downgrade.https-expected.txt": [
+   "182f777530ff7e9ce74f128c81effee4f50df748",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-module/same-http-downgrade.downgrade.https.html": [
+   "6a09e8c9d3a8824735ce78304ac82ac5223dda35",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-module/same-http-downgrade.no-redirect.https-expected.txt": [
+   "e7c151b12516d382a47cd72488c5739f6542a135",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-module/same-http-downgrade.no-redirect.https.html": [
+   "c249771c7a14d8bf07ee4f8d269d9fd9229416e5",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-module/same-https.downgrade.https.html": [
+   "42b62af0edfd865bd73157596e4b303322bebcdf",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation-import-data/cross-http-downgrade.downgrade.https.html": [
+   "90fe184c08f71d7c6644c13399c623bd0dd633b4",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation-import-data/cross-http-downgrade.no-redirect.https.html": [
+   "1288c7c6dc1e28c4342fc624945aa84752dd002c",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation-import-data/cross-https.downgrade.https.html": [
+   "07c27fec3ba4c8f2d41646193c17f251150eac57",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation-import-data/same-http-downgrade.downgrade.https.html": [
+   "b7a12e0c4a6769637956973e1ff7ac70afed3b7c",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation-import-data/same-http-downgrade.no-redirect.https.html": [
+   "5f27dc4d9fd0a89b513f8bb3a5ea10fe73ad2715",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation-import-data/same-https.downgrade.https.html": [
+   "a0fa92bdb1e273e2be4cbac3ae0af43b0e1b134f",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation/cross-http-downgrade.downgrade.https.html": [
+   "fd35b79f023f705179575f746b49f45e66df70e3",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation/cross-http-downgrade.no-redirect.https.html": [
+   "ee34404899eec609dcb2ea9e35373e23e6266fac",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation/cross-https.downgrade.https.html": [
+   "db38f1489becf7d0d0a9f492f0d43f31d3a4b59f",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation/same-http-downgrade.downgrade.https.html": [
+   "504cf09f3050f43765e7c5276dcc4fc3c6d7eb1a",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation/same-http-downgrade.no-redirect.https.html": [
+   "698a985ae2023e83f3169d3d1922a20229bbbe6f",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation/same-https.downgrade.https.html": [
+   "5d7e021e75f3f3ca15534837cdfbeae737aa60c1",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio-import-data/cross-http-downgrade.downgrade.https.html": [
+   "d3a6c681dca47d5093d2202cec95f56d08e840ac",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio-import-data/cross-http-downgrade.no-redirect.https.html": [
+   "f50e00ed5b178d4b9de334d4291834c6f71da8b7",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio-import-data/cross-https.downgrade.https.html": [
+   "effd4a26783d1a1950acd40473f07d7edeeafafb",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio-import-data/same-http-downgrade.downgrade.https.html": [
+   "f19484bf012f92602ff79cbdc35d68c6929904fc",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio-import-data/same-http-downgrade.no-redirect.https.html": [
+   "db00900d10180f2390f05f8a4e41c6212bed87c3",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio-import-data/same-https.downgrade.https.html": [
+   "706e439d4e852a9fbdd1acc5e39616cc98c9fc2e",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio/cross-http-downgrade.downgrade.https.html": [
+   "581cbcdf15a4fae4f7771cab1461986440fa722e",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio/cross-http-downgrade.no-redirect.https.html": [
+   "1dfadd638284f8786d08ad8a0d4b2ff45172d8f3",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio/cross-https.downgrade.https.html": [
+   "9f56262b0935be6b7f24678d86b9f45b4fbb8405",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio/same-http-downgrade.downgrade.https.html": [
+   "bcfec764a3d43cc0af70de950a70f22a4ded20aa",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio/same-http-downgrade.no-redirect.https.html": [
+   "71d5629dea534c06923d35a7296bcc43bed251e6",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio/same-https.downgrade.https.html": [
+   "ad67adad36f5454da534586ef5ff2fdbabbae6a0",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout-import-data/cross-http-downgrade.downgrade.https.html": [
+   "aa302dac6b640c9f3da909352b9e27d04e5a870a",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout-import-data/cross-http-downgrade.no-redirect.https.html": [
+   "f108bdabe5ec97a0772640e9458ba52797c32cc2",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout-import-data/cross-https.downgrade.https.html": [
+   "6b05e643809ed236d5d4ef69fdea625327c05e8a",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout-import-data/same-http-downgrade.downgrade.https.html": [
+   "6b5418df7308b7eb2076a4a1af1ddb06fae4a765",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout-import-data/same-http-downgrade.no-redirect.https.html": [
+   "81c6958658c4fa45a31ee5a65eb716c7cbefb65c",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout-import-data/same-https.downgrade.https.html": [
+   "29acc0eed4f1cb43b60a3263ac23b3389a60dbf5",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout/cross-http-downgrade.downgrade.https.html": [
+   "7fe4009758cba3ddbb1fb4b5246d7e823f293517",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout/cross-http-downgrade.no-redirect.https.html": [
+   "0a03c48db64c75c052f5445b1d7952f816e33d98",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout/cross-https.downgrade.https.html": [
+   "1d2c5933b51406a07a15bba8421f7e9c1bd41d0d",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout/same-http-downgrade.downgrade.https.html": [
+   "b3ebc435c2d0c46e13b8f398c91a55255a21b0d7",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout/same-http-downgrade.no-redirect.https.html": [
+   "26279c5fae242ba0f9a576973471c8df7cd17e4c",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout/same-https.downgrade.https.html": [
+   "5e1a4ec9decea9a567db6918bb962036dae1e0ef",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint-import-data/cross-http-downgrade.downgrade.https.html": [
+   "46cee9588407f3212ebf8fc5d4dde318a4e88f36",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint-import-data/cross-http-downgrade.no-redirect.https.html": [
+   "b2b9bbd4b37a92d98ee7ffa9e957998f2620eb5c",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint-import-data/cross-https.downgrade.https.html": [
+   "e5dd3eb356b55652b63bcb35050409b2ea5d8ba7",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint-import-data/same-http-downgrade.downgrade.https.html": [
+   "6c642903995e29d9b8162da12543c142e9821997",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint-import-data/same-http-downgrade.no-redirect.https.html": [
+   "6ac8293bd6792536e499aa194139f8052d9e85cd",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint-import-data/same-https.downgrade.https.html": [
+   "f17b252ee7db4efde15e673da28a31fa0aeb87e9",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint/cross-http-downgrade.downgrade.https.html": [
+   "1df14a9ea246e337e7ffd10558cd7587bbd9ba50",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint/cross-http-downgrade.no-redirect.https.html": [
+   "b2f2dbb52b499c267d9b81fac097a491feb8376c",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint/cross-https.downgrade.https.html": [
+   "189232b3f8811c8a489b16ef2903997c5de13863",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint/same-http-downgrade.downgrade.https.html": [
+   "8adac34f0db683f48d0435c08d07c573fd5e1198",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint/same-http-downgrade.no-redirect.https.html": [
+   "91e1935963e2733d1fcbf22e7e7d86a47a1e0200",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint/same-https.downgrade.https.html": [
+   "79dd7c52201b168abddacbc97e225f990264fd29",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/xhr/cross-http-downgrade.downgrade.https.html": [
+   "15443fa2dd6abbddf1cda7eef7b5a5eb94a276e6",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/xhr/cross-http-downgrade.no-redirect.https.html": [
+   "d72acbf8a8ab82aa54abe09879bfc8383eb7bbbf",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/xhr/cross-https.downgrade.https.html": [
+   "b22b35d9a37da906f1cb52a30be181445d22964c",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/xhr/same-http-downgrade.downgrade.https.html": [
+   "e3a59677cb282039fe8e92572cfb3976c6d903d7",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/xhr/same-http-downgrade.no-redirect.https.html": [
+   "dd4c6d887215e2d5f1a316b1554603ea3beb4f03",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/xhr/same-https.downgrade.https.html": [
+   "3068ecc85be92e8c94a50df43cbea669e6dcdcd6",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/cross-http-downgrade.downgrade.https.html": [
+   "2a7790cc33ca7ad5018e15a774a7ebee1bbef419",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/cross-http-downgrade.downgrade.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/cross-http-downgrade.no-redirect.https.html": [
+   "6911881fcbf8517ef82779ba0dc450b0b75dae00",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/cross-http-downgrade.no-redirect.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/cross-https.downgrade.https.html": [
+   "bf18d02efa61e780e759b2fa9c5cf069ce2efe0d",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/cross-https.downgrade.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/same-http-downgrade.downgrade.https.html": [
+   "5f031da8f22402c5bcac1159a3c21f199942ffd7",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/same-http-downgrade.downgrade.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/same-http-downgrade.no-redirect.https.html": [
+   "63e6c10ba1c55448d9858ff9ad3e1a2c66d88724",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/same-http-downgrade.no-redirect.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/same-https.downgrade.https.html": [
+   "4769b3e47542b410ac79d5788f9a0cc32f1cc7d0",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/same-https.downgrade.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/cross-http-downgrade.downgrade.https.html": [
+   "c8da091c47775dc853a7f9686703d95f16674b28",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/cross-http-downgrade.downgrade.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/cross-http-downgrade.no-redirect.https.html": [
+   "0ad59ebe503c97e338d1ca4cbf628ded76355602",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/cross-http-downgrade.no-redirect.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/cross-https.downgrade.https.html": [
+   "128fe831b5ddc05fbb9d33bacd85c3dfaa7590de",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/cross-https.downgrade.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/same-http-downgrade.downgrade.https.html": [
+   "d11fcf97344b09dcd7a0b80429f2f6425ed8751e",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/same-http-downgrade.downgrade.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/same-http-downgrade.no-redirect.https.html": [
+   "6032303cac0f6041def88611464039d685ac7c84",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/same-http-downgrade.no-redirect.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/same-https.downgrade.https.html": [
+   "661356c3c16cca32bc964266bc6a48318a8ac550",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/same-https.downgrade.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/cross-http-downgrade.downgrade.https.html": [
+   "c412844dad3b1114642132913659e7acd1e83552",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/cross-http-downgrade.downgrade.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/cross-http-downgrade.no-redirect.https.html": [
+   "fff93a9e18e7b10a88533281aac977758e1a96d1",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/cross-http-downgrade.no-redirect.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/cross-https.downgrade.https.html": [
+   "b63847a7cf039c4e018412670a4e54bca6b5ddc1",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/cross-https.downgrade.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/same-http-downgrade.downgrade.https.html": [
+   "5f53c2b0771183c9a5043b9715103074a06b5bd9",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/same-http-downgrade.downgrade.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/same-http-downgrade.no-redirect.https.html": [
+   "0d890c4a5270b2dce5432d26ec7e31678a0af27e",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/same-http-downgrade.no-redirect.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/same-https.downgrade.https.html": [
+   "bfcb628c8021c380340ef57f726294c61401faf7",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/same-https.downgrade.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/sharedworker-classic/same-http-downgrade.downgrade.https-expected.txt": [
+   "cded8b5db236b232eb06d37b40bd576c5a9769a7",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/sharedworker-classic/same-http-downgrade.downgrade.https.html": [
+   "9eccbf0123c0c89d6493ccd99a4fb232dfba20fa",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/sharedworker-classic/same-http-downgrade.downgrade.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/sharedworker-classic/same-http-downgrade.no-redirect.https-expected.txt": [
+   "b1995164a9ee5e61f009f1d2374781375cb96751",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/sharedworker-classic/same-http-downgrade.no-redirect.https.html": [
+   "8e5ea4a7fe9e4de5da59f4b759c7388f8bfa011d",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/sharedworker-classic/same-http-downgrade.no-redirect.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/sharedworker-classic/same-https.downgrade.https.html": [
+   "470727e0625e415ff7a7f3ef9ecf7489fd322bc1",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/sharedworker-classic/same-https.downgrade.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/websocket/cross-ws-downgrade.no-redirect.https.html": [
+   "4a52dfc8881fa4682c557ac8950107e6a91a0cfa",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/websocket/cross-ws-downgrade.no-redirect.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/websocket/same-ws-downgrade.no-redirect.https.html": [
+   "805622a86d18695e512f4cb7d56ae126459de66c",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/websocket/same-ws-downgrade.no-redirect.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-classic/same-http-downgrade.downgrade.https-expected.txt": [
+   "87009a425e1431380f6deed2f93ea7bf2a43b521",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-classic/same-http-downgrade.downgrade.https.html": [
+   "71761b8b1df162aa01f006a5db50dd02bc782c33",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-classic/same-http-downgrade.downgrade.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-classic/same-http-downgrade.no-redirect.https-expected.txt": [
+   "643d31a8ba0680aa4cbc426c620814766d2857b4",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-classic/same-http-downgrade.no-redirect.https.html": [
+   "abd781bf1f4a7a9a1897fb9d656041ca371f2401",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-classic/same-http-downgrade.no-redirect.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-classic/same-https.downgrade.https.html": [
+   "514ea385237605b3d6e09db8cd55d39bfed7b5b2",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-classic/same-https.downgrade.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/cross-http-downgrade.downgrade.https.html": [
+   "3b56e7a799c3cb4f0a06daada79952c523200366",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/cross-http-downgrade.downgrade.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/cross-http-downgrade.no-redirect.https.html": [
+   "2d0474e03024e055594462b939ededeb03af887c",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/cross-http-downgrade.no-redirect.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/cross-https.downgrade.https.html": [
+   "71353a3706bf87eae8803315a81bb41c00f856d3",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/cross-https.downgrade.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/same-http-downgrade.downgrade.https.html": [
+   "8490d9363fddc869321c713ef9041488e21b6742",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/same-http-downgrade.downgrade.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/same-http-downgrade.no-redirect.https.html": [
+   "cf8591f88b1a320c62c61361602478b871333b45",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/same-http-downgrade.no-redirect.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/same-https.downgrade.https.html": [
+   "9117f9435df42d3ab67099cf111487932f3dce57",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/same-https.downgrade.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-module/same-http-downgrade.downgrade.https-expected.txt": [
+   "182f777530ff7e9ce74f128c81effee4f50df748",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-module/same-http-downgrade.downgrade.https.html": [
+   "f01a9c0f21893190eedb1cd337b119f184f60b9b",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-module/same-http-downgrade.downgrade.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-module/same-http-downgrade.no-redirect.https-expected.txt": [
+   "e7c151b12516d382a47cd72488c5739f6542a135",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-module/same-http-downgrade.no-redirect.https.html": [
+   "1f7b24ced6bce90ad88e17fdb363211e7f8cd43f",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-module/same-http-downgrade.no-redirect.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-module/same-https.downgrade.https.html": [
+   "4dda1d0f192363e9c223513c410f7c71aaaada82",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-module/same-https.downgrade.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/cross-http-downgrade.downgrade.https.html": [
+   "668bde7a1d5ce3eb174d6b1348516ad7e9fcaaf0",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/cross-http-downgrade.downgrade.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/cross-http-downgrade.no-redirect.https.html": [
+   "6c94064853735a26ce09440d440a70fa039f2287",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/cross-http-downgrade.no-redirect.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/cross-https.downgrade.https.html": [
+   "89a5aefe9113d4b0ce61d7b8e49ec7a47ff8e3b0",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/cross-https.downgrade.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/same-http-downgrade.downgrade.https.html": [
+   "0cbf66c6db26456f145e3fa418dfa94fda205195",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/same-http-downgrade.downgrade.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/same-http-downgrade.no-redirect.https.html": [
+   "6e4e8abe309a87f7ff1d6b844d577fb30a3f738c",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/same-http-downgrade.no-redirect.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/same-https.downgrade.https.html": [
+   "ab1f02af2069330c9db3092e586f643b86eecc31",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/same-https.downgrade.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/cross-http-downgrade.downgrade.https.html": [
+   "89607791547ec85d4e254305e76ac13a5c439fc9",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/cross-http-downgrade.downgrade.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/cross-http-downgrade.no-redirect.https.html": [
+   "49b7df1ceb267d210a5d70af00b5aa1ec5a23cd8",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/cross-http-downgrade.no-redirect.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/cross-https.downgrade.https.html": [
+   "8e4b92334351924400bb43abfd01fe9e8e9545d1",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/cross-https.downgrade.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/same-http-downgrade.downgrade.https.html": [
+   "d4a95355ffba66cbc6fa15d8674c588a1c566a70",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/same-http-downgrade.downgrade.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/same-http-downgrade.no-redirect.https.html": [
+   "a8c88f4b10727bb74fae2cbd0f960173836b4f24",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/same-http-downgrade.no-redirect.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/same-https.downgrade.https.html": [
+   "2f39bbb2fc580359f950ad1413440d47bd4a163b",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/same-https.downgrade.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/cross-http-downgrade.downgrade.https.html": [
+   "5f9500e2bcd9939cf98acf85a13bc9fbe3dbfd83",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/cross-http-downgrade.downgrade.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/cross-http-downgrade.no-redirect.https.html": [
+   "18cd96e8832001981413fa7edb050a15e945b837",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/cross-http-downgrade.no-redirect.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/cross-https.downgrade.https.html": [
+   "ba6ed32a1d2341b01e7214b5f519bfe9a587ff9e",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/cross-https.downgrade.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/same-http-downgrade.downgrade.https.html": [
+   "309dd782e17a47239aa192ddeeda9850213bd4d9",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/same-http-downgrade.downgrade.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/same-http-downgrade.no-redirect.https.html": [
+   "12f598fce855942e9eeb48eda777db2256ba20a1",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/same-http-downgrade.no-redirect.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/same-https.downgrade.https.html": [
+   "20c901c432625bdd92318c6ddda640e5f5e27df9",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/same-https.downgrade.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/cross-http-downgrade.downgrade.https.html": [
+   "9b59f0ae60aa9b7e6aebd561438e61ff29e42b8c",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/cross-http-downgrade.downgrade.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/cross-http-downgrade.no-redirect.https.html": [
+   "feae96d10e416e7d8b922b83f8671bcab30f87c0",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/cross-http-downgrade.no-redirect.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/cross-https.downgrade.https.html": [
+   "636ab9d72e3b688db663d463441a51d7934147b3",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/cross-https.downgrade.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/same-http-downgrade.downgrade.https.html": [
+   "bff934a9e3d8ca564faf4047f780ed45dfc8128e",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/same-http-downgrade.downgrade.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/same-http-downgrade.no-redirect.https.html": [
+   "3d8d86aa251fb4b524b36fd54b90f4a7b2282979",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/same-http-downgrade.no-redirect.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/same-https.downgrade.https.html": [
+   "5d78867856ee79922d8449b9e2bf72f1089d2822",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/same-https.downgrade.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/cross-http-downgrade.downgrade.https.html": [
+   "cb0d12cc92336fff0d7242d559b3781d1596c3f1",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/cross-http-downgrade.downgrade.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/cross-http-downgrade.no-redirect.https.html": [
+   "cddebab2984b930f4d4081983eb000c71d451098",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/cross-http-downgrade.no-redirect.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/cross-https.downgrade.https.html": [
+   "e4bd2b688691e42a8a1cf08af29bde942f30126a",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/cross-https.downgrade.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/same-http-downgrade.downgrade.https.html": [
+   "34daf23396b0d3315c24f3192fedc0f0ee3abf3e",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/same-http-downgrade.downgrade.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/same-http-downgrade.no-redirect.https.html": [
+   "015697f4dcf5d3da22239befc2563f82c41f4f93",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/same-http-downgrade.no-redirect.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/same-https.downgrade.https.html": [
+   "f7fca4405ba71f0072758bf77ce6ec74b3d0b281",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/same-https.downgrade.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/cross-http-downgrade.downgrade.https.html": [
+   "43617856af37bf5ac0cc6af332bee0ea8acc89cb",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/cross-http-downgrade.downgrade.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/cross-http-downgrade.no-redirect.https.html": [
+   "9c4a6131428781161d1bd969fe3315b5f8c95f50",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/cross-http-downgrade.no-redirect.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/cross-https.downgrade.https.html": [
+   "771fa29ebc5bf19abbaf5c80a45cb51ad7060728",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/cross-https.downgrade.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/same-http-downgrade.downgrade.https.html": [
+   "6aa3f6295e9e5628ac4698e173640dc47cfb0025",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/same-http-downgrade.downgrade.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/same-http-downgrade.no-redirect.https.html": [
+   "8190133d5936543c5b69e6f05a4ab7e4bd96b547",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/same-http-downgrade.no-redirect.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/same-https.downgrade.https.html": [
+   "325174659007c50f9fcf52dfac51a5c7c6b864b2",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/same-https.downgrade.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/cross-http-downgrade.downgrade.https.html": [
+   "d7c86b06c825bf15b106dbf99a2b8b0c8bd03dd5",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/cross-http-downgrade.downgrade.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/cross-http-downgrade.no-redirect.https.html": [
+   "ca62ab79cae3364aedd9f885d2b44d986f285bc0",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/cross-http-downgrade.no-redirect.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/cross-https.downgrade.https.html": [
+   "d2378fcadf01c74a8e2961dc1eedab438ec35bfe",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/cross-https.downgrade.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/same-http-downgrade.downgrade.https.html": [
+   "74b9a4a54011e295893d1187a605b6e12a77cef7",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/same-http-downgrade.downgrade.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/same-http-downgrade.no-redirect.https.html": [
+   "d94776fd03acd148745417dc13a833f4d53cc982",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/same-http-downgrade.no-redirect.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/same-https.downgrade.https.html": [
+   "aa33297eaf35a4d60605da423f27b429c5872797",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/same-https.downgrade.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/cross-http-downgrade.downgrade.https.html": [
+   "0619d470145850dd6b08942b906f55ae756eb71c",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/cross-http-downgrade.downgrade.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/cross-http-downgrade.no-redirect.https.html": [
+   "a91c13cfc8ef4068121de7cfdd926b35ce5a796e",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/cross-http-downgrade.no-redirect.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/cross-https.downgrade.https.html": [
+   "a1d28922a80bf436f1cc0601c768e4018ceace99",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/cross-https.downgrade.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/same-http-downgrade.downgrade.https.html": [
+   "56a8227d06493fe2989bb93368c7f5332b9f120e",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/same-http-downgrade.downgrade.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/same-http-downgrade.no-redirect.https.html": [
+   "6c551a59e493f360e6d3fb2ad69c34b056e8e330",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/same-http-downgrade.no-redirect.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/same-https.downgrade.https.html": [
+   "41d1547c5b0442798d62c2dcff84702a412d6f21",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/same-https.downgrade.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/cross-http-downgrade.downgrade.https.html": [
+   "0278c5e72235050031604b47fd70a5b82dfce073",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/cross-http-downgrade.downgrade.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/cross-http-downgrade.no-redirect.https.html": [
+   "cdacbb0333861ab4597ac5546a24533f779735f1",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/cross-http-downgrade.no-redirect.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/cross-https.downgrade.https.html": [
+   "711b035f9299a5b5db878f29889b2fcb8370630b",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/cross-https.downgrade.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/same-http-downgrade.downgrade.https.html": [
+   "c3f5fc83fd3031d7e87daada92451e04d073e9f0",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/same-http-downgrade.downgrade.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/same-http-downgrade.no-redirect.https.html": [
+   "234c639edfd27eec59963d6675024a211a2cf25c",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/same-http-downgrade.no-redirect.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/same-https.downgrade.https.html": [
+   "d926e88181caa40d1dab69b121226380a3edc7bf",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/same-https.downgrade.https.html.headers": [
+   "602d9dc38d0a5975e8d40c26daae9329de69840c",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/fetch/cross-http-downgrade.downgrade.https.html": [
+   "fca4a5a70a9711ab9d94064cbb4c80ba38564122",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/fetch/cross-http-downgrade.no-redirect.https.html": [
+   "25294d3272200a784d20c9535e1306da95241bc6",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/fetch/cross-https.downgrade.https.html": [
+   "5e8853d5e46106640f7ac2ca3e0adb432b76f107",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/fetch/same-http-downgrade.downgrade.https.html": [
+   "4518ced5dcbc9df299420471319e484870df2d73",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/fetch/same-http-downgrade.no-redirect.https.html": [
+   "2ad6b43f4473d82baef53ff290193bc5db47bac2",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/fetch/same-https.downgrade.https.html": [
+   "6ed6f53c9d5f8f8ef53e61d2b2e3bbb864762f29",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/iframe-tag/cross-http-downgrade.downgrade.https.html": [
+   "93dd9d9b7cadecef9838d626610ef6e0e40a5c96",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/iframe-tag/cross-http-downgrade.no-redirect.https.html": [
+   "707c260eeecee5183bdb3e2b3ebaef0ccb2ae8d4",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/iframe-tag/cross-https.downgrade.https.html": [
+   "49a3a0d2c3f918351acfb0f36e830b3015609023",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/iframe-tag/same-http-downgrade.downgrade.https.html": [
+   "7b308e355d04ccc743eeb532251576abff31456e",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/iframe-tag/same-http-downgrade.no-redirect.https.html": [
+   "84afe5cf7bee536eaedc98e198af090ea9e3c6c7",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/iframe-tag/same-https.downgrade.https.html": [
+   "e00d307b5d13f7ffa276b364325c3496a9e3eb99",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/img-tag/cross-http-downgrade.downgrade.https.html": [
+   "8bcf5426b7096d5428ab380a2bb89dddc23292f5",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/img-tag/cross-http-downgrade.no-redirect.https.html": [
+   "8ca7ccb653ebe1ab2d3b4cddae13a3ba2836d7a7",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/img-tag/cross-https.downgrade.https.html": [
+   "caaefaee6b41049f156f8e96dab956dbda4b40b3",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/img-tag/same-http-downgrade.downgrade.https.html": [
+   "61aca5a259342cc2dad3d822887764143f15b972",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/img-tag/same-http-downgrade.no-redirect.https.html": [
+   "3288cbe19daf2ab25fc5551f773ce109ea63d368",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/img-tag/same-https.downgrade.https.html": [
+   "3c0208cb48bb3b57b3dc72746aeaf4dd1fdea154",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/sharedworker-classic/same-http-downgrade.downgrade.https.html": [
+   "67ae9a77415a9db14482ceabe9392f26138ac273",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/sharedworker-classic/same-http-downgrade.no-redirect.https.html": [
+   "71ca8334270f3cec78bc5c60c5e9cc993cfa1ac0",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/sharedworker-classic/same-https.downgrade.https.html": [
+   "88826a8d44095bb9e0f9eb0a95c58a2beac01bed",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/websocket/cross-ws-downgrade.no-redirect.https.html": [
+   "123bc13d5dbdb9792010ae2fe226121843ffaad7",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/websocket/same-ws-downgrade.no-redirect.https.html": [
+   "a5bc2c88e7a642c073fc284ca32c57d55c634be3",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/worker-classic/same-http-downgrade.downgrade.https.html": [
+   "075e9d535dd0c612cecea236db06260b4c297f3a",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/worker-classic/same-http-downgrade.no-redirect.https.html": [
+   "bec65611ee3b38a16aeb06a320509a26881f30c1",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/worker-classic/same-https.downgrade.https.html": [
+   "d9bb535dfc4d7d61742f35dbf088e1c202f5d699",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/worker-import-data/cross-http-downgrade.downgrade.https.html": [
+   "bf16f45e0ea3ae0625cc00c2dfc4bd272eed9a25",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/worker-import-data/cross-http-downgrade.no-redirect.https.html": [
+   "23ad04062ed257bf3bfcb02de1db66c1e720a6d2",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/worker-import-data/cross-https.downgrade.https.html": [
+   "c10b93bca3fd28f1498f97fd8cfecd9eb9ab2313",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/worker-import-data/same-http-downgrade.downgrade.https.html": [
+   "b40c22fb675d8c0c25d4d9bd7c6de099ce4b3bde",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/worker-import-data/same-http-downgrade.no-redirect.https.html": [
+   "c13ca3414b9576c4f0f0d70452f7c25fdd972502",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/worker-import-data/same-https.downgrade.https.html": [
+   "e14ba510da1b74d2bc77417f454a953c9b5affbc",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/worker-module/same-http-downgrade.downgrade.https.html": [
+   "3f313441729ea9b78ce83bd24d6177164e12aad1",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/worker-module/same-http-downgrade.no-redirect.https.html": [
+   "fe106b20c74378beece550916f41f51e97cd9d01",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/worker-module/same-https.downgrade.https.html": [
+   "0116fd8100eb4be377cafdcd6fc3223ee3bd8948",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/worklet-animation-import-data/cross-http-downgrade.downgrade.https.html": [
+   "41db74a8800818b88117b478b18edfc128649d3c",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/worklet-animation-import-data/cross-http-downgrade.no-redirect.https.html": [
+   "48d95925fd064df819ca8f70808fa9a7fa43a0d2",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/worklet-animation-import-data/cross-https.downgrade.https.html": [
+   "9d32ee17331d1e376250f63207768a35231c399f",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/worklet-animation-import-data/same-http-downgrade.downgrade.https.html": [
+   "f16f22ced5867583b181086de2bd6d18b70be8fc",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/worklet-animation-import-data/same-http-downgrade.no-redirect.https.html": [
+   "9933d1ddd488e00a2802d6ddaaa03386c58f89a4",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/worklet-animation-import-data/same-https.downgrade.https.html": [
+   "097720482175286658e4d02e09c4527e9be0af51",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/worklet-animation/cross-http-downgrade.downgrade.https.html": [
+   "5da525d932d8b2fd44e742f4f512615b3112cec1",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/worklet-animation/cross-http-downgrade.no-redirect.https.html": [
+   "3391cc8abf235c7fafe1a67e17a81a62f56128c4",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/worklet-animation/cross-https.downgrade.https.html": [
+   "dedd21701fdb7c03d7b908bd2d28830b52c863d1",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/worklet-animation/same-http-downgrade.downgrade.https.html": [
+   "f07dad184a89a1e525fcfeaa15288252c7189376",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/worklet-animation/same-http-downgrade.no-redirect.https.html": [
+   "61569fd8f8d63919eda299ede3ae6600575e0ee3",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/worklet-animation/same-https.downgrade.https.html": [
+   "ace49d00b97c5f9265f5dea83845917868df2d33",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/worklet-audio-import-data/cross-http-downgrade.downgrade.https.html": [
+   "c266298f0f8c4368b5177aee73631e545d0ce35e",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/worklet-audio-import-data/cross-http-downgrade.no-redirect.https.html": [
+   "db6a1876b8c33e6546421711cf6da502313ced8a",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/worklet-audio-import-data/cross-https.downgrade.https.html": [
+   "1e1a8faf7e7a5c6b665aafec0cbf49b1ec20e91c",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/worklet-audio-import-data/same-http-downgrade.downgrade.https.html": [
+   "fec20a0914638a0e70eba9cdfc02f9aeb741519e",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/worklet-audio-import-data/same-http-downgrade.no-redirect.https.html": [
+   "aef2b52cec3582e3e5dae065be2fe686c63b2084",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/worklet-audio-import-data/same-https.downgrade.https.html": [
+   "d358584ba790b755b73f5741c9e4366f982954eb",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/worklet-audio/cross-http-downgrade.downgrade.https.html": [
+   "3a6e93dfd35c46f9321ef7575d2d812b5cb3fbbd",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/worklet-audio/cross-http-downgrade.no-redirect.https.html": [
+   "47fd0a407255812471c42c1bb673d4802f98628f",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/worklet-audio/cross-https.downgrade.https.html": [
+   "67a22edca431575199027481552aa843e31131a9",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/worklet-audio/same-http-downgrade.downgrade.https.html": [
+   "055606e7862da57b1ca3f8b814d7eafdcbecf303",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/worklet-audio/same-http-downgrade.no-redirect.https.html": [
+   "34f1d7985be9db4722c358be66f8ba8284bff061",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/worklet-audio/same-https.downgrade.https.html": [
+   "23707ba634e554244c7e22f3633551df0eb6b970",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/worklet-layout-import-data/cross-http-downgrade.downgrade.https.html": [
+   "0b5cbe6fc7619936802f701870f2257c9dc8809b",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/worklet-layout-import-data/cross-http-downgrade.no-redirect.https.html": [
+   "7fa1f6e274cf2198b664a8061878341b8a1d2d01",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/worklet-layout-import-data/cross-https.downgrade.https.html": [
+   "40658efef370031b5c5236f586daedb79064709b",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/worklet-layout-import-data/same-http-downgrade.downgrade.https.html": [
+   "5a66689189a34bea10a2ec50afe1fe4ece621cc6",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/worklet-layout-import-data/same-http-downgrade.no-redirect.https.html": [
+   "4b15e5512bb1845fa574f9c674e125f83083a80a",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/worklet-layout-import-data/same-https.downgrade.https.html": [
+   "ca8c71f7a3be6dd85e3736d7bcf7f57a9ea9f373",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/worklet-layout/cross-http-downgrade.downgrade.https.html": [
+   "6ee26e108d140004cdad2f5f534d4d64224436cd",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/worklet-layout/cross-http-downgrade.no-redirect.https.html": [
+   "08ae852dad8ed394c6514fb48e6cd152e4d827a7",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/worklet-layout/cross-https.downgrade.https.html": [
+   "669fadbc9fb4c3e08bf24086be7632a2b3af3dc7",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/worklet-layout/same-http-downgrade.downgrade.https.html": [
+   "751ff7e4eda62427b66755534e4eb276df471e46",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/worklet-layout/same-http-downgrade.no-redirect.https.html": [
+   "3867169380d73dbbc80c37195f37b2be48bbbb6b",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/worklet-layout/same-https.downgrade.https.html": [
+   "6986a787434a36017ab198c252b243115386d74c",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/worklet-paint-import-data/cross-http-downgrade.downgrade.https.html": [
+   "a29f6209b077237523fb8a9f077a6cc2963d160d",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/worklet-paint-import-data/cross-http-downgrade.no-redirect.https.html": [
+   "93383d5b6233f7349b3ee4d0b054ca847770d211",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/worklet-paint-import-data/cross-https.downgrade.https.html": [
+   "346bb6b9fa3bdf77f8451d204d86a7a9a3a1e8bf",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/worklet-paint-import-data/same-http-downgrade.downgrade.https.html": [
+   "869fc00080d3e43927ec323f8712fa86d865715d",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/worklet-paint-import-data/same-http-downgrade.no-redirect.https.html": [
+   "542c18337a52afcc133779e0c0daf30a856478c8",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/worklet-paint-import-data/same-https.downgrade.https.html": [
+   "eba63c36922811c69e7ab2265d2fdc58dd11090c",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/worklet-paint/cross-http-downgrade.downgrade.https.html": [
+   "1dc5f081122a261fedbbfb210d0d0841c23dd05d",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/worklet-paint/cross-http-downgrade.no-redirect.https.html": [
+   "01a84d602d4f34b645e9c708b9645968cbf3cccd",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/worklet-paint/cross-https.downgrade.https.html": [
+   "8589ff6bc2df14613fb62a67ebdf8b915be70713",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/worklet-paint/same-http-downgrade.downgrade.https.html": [
+   "30314fc606d89f5b58b91157699dc65893c39037",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/worklet-paint/same-http-downgrade.no-redirect.https.html": [
+   "daa420b357fff6bdb06ea4ab918bb6f333fc4b39",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/worklet-paint/same-https.downgrade.https.html": [
+   "383f42ed9127bdaea0afcc01cb352b72aa690dd6",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/xhr/cross-http-downgrade.downgrade.https.html": [
+   "beae338c5621a87e4c9063158803a7f494083e74",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/xhr/cross-http-downgrade.no-redirect.https.html": [
+   "685ebe401009c30a372c2c1f70b1df66c1a6cfa1",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/xhr/cross-https.downgrade.https.html": [
+   "4bbfd75744a1e7d70ec6d3d30ed82a050caf3c87",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/xhr/same-http-downgrade.downgrade.https.html": [
+   "cb5cc3a476f7abf0bed9c2b0de5238b680642ad2",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/xhr/same-http-downgrade.no-redirect.https.html": [
+   "a5325b32569020ba37f4f549de45733f3d06ee46",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/unset/xhr/same-https.downgrade.https.html": [
+   "cfe86148a2533d2056d85a46e8b7937f4608f787",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/fetch/cross-http-downgrade.downgrade.https.html": [
+   "f9750e1a3721c5b58548eae9fa495c7087f0dd7e",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/fetch/cross-http-downgrade.no-redirect.https.html": [
+   "3b08b721e8707e5ee512a33e48aa29ff74e26d33",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/fetch/cross-https.downgrade.https.html": [
+   "8d0a80ab817abbdcf886cea79ad0088e9fedc2f0",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/fetch/same-http-downgrade.downgrade.https.html": [
+   "d5ebb857f6aa45327a73ced6cd140592c946a77f",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/fetch/same-http-downgrade.no-redirect.https.html": [
+   "5d6d8f5c4e5efef0b3b17947fe63921d845b5999",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/fetch/same-https.downgrade.https.html": [
+   "63b5c8c505ac81f409a25ed56cbc68d4a28b1737",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/iframe-tag/cross-http-downgrade.downgrade.https.html": [
+   "09be76409e4b15e6d223f83d201f9737c4637d21",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/iframe-tag/cross-http-downgrade.no-redirect.https.html": [
+   "e86f7531ad540d2ae68aa19c7871cd09a413b9c1",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/iframe-tag/cross-https.downgrade.https.html": [
+   "4f2e231419fb1853e860c526a7a6d55a9344c9ac",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/iframe-tag/same-http-downgrade.downgrade.https.html": [
+   "86958e9db78e5e4c85b2c895890e28328a03b026",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/iframe-tag/same-http-downgrade.no-redirect.https.html": [
+   "70507d39d8d8e13ac5e5f3cc787d151ae8ad466b",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/iframe-tag/same-https.downgrade.https.html": [
+   "71764a1f149fff7489b90b700644cdfd8125b605",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/img-tag/cross-http-downgrade.downgrade.https.html": [
+   "c0c141a692b0d66fe01b1ce926d1d2b4158a5699",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/img-tag/cross-http-downgrade.no-redirect.https.html": [
+   "baef52df2fb8596e1cd552117c27208202376a94",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/img-tag/cross-https.downgrade.https.html": [
+   "25f2948fe78fa85e89f37c4cf98e9c5f36c6cc10",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/img-tag/same-http-downgrade.downgrade.https.html": [
+   "ab649803004b8e7cb1669643cc0e641fa2183967",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/img-tag/same-http-downgrade.no-redirect.https.html": [
+   "066d34cfe73dde9c932ba42a65d8a973ba195216",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/img-tag/same-https.downgrade.https.html": [
+   "073a0ae880d9447b9d86789f574cc5fe661b0687",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/sharedworker-classic/same-http-downgrade.downgrade.https-expected.txt": [
+   "cded8b5db236b232eb06d37b40bd576c5a9769a7",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/sharedworker-classic/same-http-downgrade.downgrade.https.html": [
+   "00cd0d4698c51ff2a59f9e4449b5fab7e69a7155",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/sharedworker-classic/same-http-downgrade.no-redirect.https-expected.txt": [
+   "b1995164a9ee5e61f009f1d2374781375cb96751",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/sharedworker-classic/same-http-downgrade.no-redirect.https.html": [
+   "5d0e23e6c1b1086aeadeb49a6ba5b59c5abb4b72",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/sharedworker-classic/same-https.downgrade.https.html": [
+   "08bf866c4dff7d457bbb8b4d2c8e1ed89fcee662",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/websocket/cross-ws-downgrade.no-redirect.https.html": [
+   "8858a097638df262be702cf7c5cd2bdbd110fe99",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/websocket/same-ws-downgrade.no-redirect.https.html": [
+   "dfebfd1e5f5037e333c0d91f017768df99df2091",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worker-classic/same-http-downgrade.downgrade.https-expected.txt": [
+   "87009a425e1431380f6deed2f93ea7bf2a43b521",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worker-classic/same-http-downgrade.downgrade.https.html": [
+   "344837e8b2fe3d85aba9b81b977493b47ff786ef",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worker-classic/same-http-downgrade.no-redirect.https-expected.txt": [
+   "643d31a8ba0680aa4cbc426c620814766d2857b4",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worker-classic/same-http-downgrade.no-redirect.https.html": [
+   "cf36e0183b8a6401644da3bed4acbca61074e038",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worker-classic/same-https.downgrade.https.html": [
+   "7b863f63d8bde038858169e2d1285bbe30a09543",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worker-import-data/cross-http-downgrade.downgrade.https.html": [
+   "52c9277442ad13019fc9520928417637e0fabff6",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worker-import-data/cross-http-downgrade.no-redirect.https.html": [
+   "81a16de6a243a8692aef716a6aaa6b57de82915e",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worker-import-data/cross-https.downgrade.https.html": [
+   "94ffe6cc32b2b3176d763a068dada8ba73fa2926",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worker-import-data/same-http-downgrade.downgrade.https.html": [
+   "c83cb3af929dbbb41dd86b410cd0fb996a15c911",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worker-import-data/same-http-downgrade.no-redirect.https.html": [
+   "26eb2051ee3bfeca2321ea4803d7148ff0ed2f02",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worker-import-data/same-https.downgrade.https.html": [
+   "18316c62cfe70a609689abba0a3eaa6804c4e220",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worker-module/same-http-downgrade.downgrade.https-expected.txt": [
+   "182f777530ff7e9ce74f128c81effee4f50df748",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worker-module/same-http-downgrade.downgrade.https.html": [
+   "e86ab02cd87878e0ade286fce3535de7d049e451",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worker-module/same-http-downgrade.no-redirect.https-expected.txt": [
+   "e7c151b12516d382a47cd72488c5739f6542a135",
+   "support"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worker-module/same-http-downgrade.no-redirect.https.html": [
+   "d671b9d4c33e072a75822f856657f9859168468e",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worker-module/same-https.downgrade.https.html": [
+   "7441428075fa4549b62f9f55958303ba94f7a65c",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation-import-data/cross-http-downgrade.downgrade.https.html": [
+   "b81d616b9c7583eced1598e3e67be7dc9259e81e",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation-import-data/cross-http-downgrade.no-redirect.https.html": [
+   "e24be56b7beb34e282ee9a6bdb476c3bc69806b4",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation-import-data/cross-https.downgrade.https.html": [
+   "5783bb8986dbb4394e9e2e2e332bda799bcf82b7",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation-import-data/same-http-downgrade.downgrade.https.html": [
+   "fad7c7c68a1ebe08d7141638467c04eef3d3288b",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation-import-data/same-http-downgrade.no-redirect.https.html": [
+   "fb7fa4d863955e086fd2ef304391e5acea171258",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation-import-data/same-https.downgrade.https.html": [
+   "6c340d99ddde630f1f7ce324497e13771ff23a6a",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation/cross-http-downgrade.downgrade.https.html": [
+   "e01c62a2781a2ba295d3a44e40a3b5ac04e1ad08",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation/cross-http-downgrade.no-redirect.https.html": [
+   "35507477de1d45b8bd1da278d851bda5f3e984ac",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation/cross-https.downgrade.https.html": [
+   "ca0d0e6a08f991c50174a479826a4d57ee4a0658",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation/same-http-downgrade.downgrade.https.html": [
+   "49557f2c613643302f769f55025f1f1a9e171c7f",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation/same-http-downgrade.no-redirect.https.html": [
+   "3fd3641af409c717772f4b5c015cd000af2b7566",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation/same-https.downgrade.https.html": [
+   "02b1038cedba80d18b530729ba81fde5a7d21ea1",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio-import-data/cross-http-downgrade.downgrade.https.html": [
+   "8c17faf68aff257bb9bb78079a8fa897f0f947d1",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio-import-data/cross-http-downgrade.no-redirect.https.html": [
+   "415ca3d7476d9a9262a38bc4c1f97eceaebefe65",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio-import-data/cross-https.downgrade.https.html": [
+   "d36faebf09faa680021e2e51a9991e02e73bedea",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio-import-data/same-http-downgrade.downgrade.https.html": [
+   "329b41e2c207df5219046d345f15589020f07176",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio-import-data/same-http-downgrade.no-redirect.https.html": [
+   "09f9a35167ee8f619ee6dc4bb647c1849dca6946",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio-import-data/same-https.downgrade.https.html": [
+   "5face3b0f1ad5e222816286246b986f24dd5c6b9",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio/cross-http-downgrade.downgrade.https.html": [
+   "5ca6b71935ac677ec4eccb34100ad4d899dd0b38",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio/cross-http-downgrade.no-redirect.https.html": [
+   "9addf82ae1278333797ee2a54e27d653b9547bca",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio/cross-https.downgrade.https.html": [
+   "00228ef7fdc7a52f1cf1e5329f9b13d7e0a9c848",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio/same-http-downgrade.downgrade.https.html": [
+   "000ce5e3cd10a5999a4b61b3bb492cdcc30cd3d1",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio/same-http-downgrade.no-redirect.https.html": [
+   "5216ccbaa2dba41f529473a8acaa69040cc022ea",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio/same-https.downgrade.https.html": [
+   "464b8d5725bba5fe452f7af08496baf1d20c6eec",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout-import-data/cross-http-downgrade.downgrade.https.html": [
+   "369e51916051662b787d97545bbf8126ecb62627",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout-import-data/cross-http-downgrade.no-redirect.https.html": [
+   "cb97e532d2991fb5be706415ef52a9aa3a4c3e92",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout-import-data/cross-https.downgrade.https.html": [
+   "d7706cc6ab8d10b26eb5e6b634765782a7caf359",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout-import-data/same-http-downgrade.downgrade.https.html": [
+   "7b49006155165869de68a07fb544fe5ae8a0c4ce",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout-import-data/same-http-downgrade.no-redirect.https.html": [
+   "18995bd301438da062f341dfdb36de8f4fb40335",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout-import-data/same-https.downgrade.https.html": [
+   "6b8c53a94d19c61fb36ddff09008bead7137a023",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout/cross-http-downgrade.downgrade.https.html": [
+   "8acdd3caac295f42dc273de43fa0a60fb0bd0d4c",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout/cross-http-downgrade.no-redirect.https.html": [
+   "26167e177bd166f3577fd03d5d375c4f2b020de6",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout/cross-https.downgrade.https.html": [
+   "13ef09cb3887c91f9630d00b056a352f7e6dabd9",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout/same-http-downgrade.downgrade.https.html": [
+   "cc56f51c2de383af65100e234a10fbc7c91111be",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout/same-http-downgrade.no-redirect.https.html": [
+   "7b622c2f2cb7edb10a35b2bd6e86b5f41c7e3ce8",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout/same-https.downgrade.https.html": [
+   "2ce3df1cc9c19c6e2bcc493dc4223af7bf0f337a",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint-import-data/cross-http-downgrade.downgrade.https.html": [
+   "7516c16b4e37af0562e9491a0acd272f446fae2e",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint-import-data/cross-http-downgrade.no-redirect.https.html": [
+   "404386e58bb94ddfc6fa5a6303cb997dd0a14e82",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint-import-data/cross-https.downgrade.https.html": [
+   "53b77d6908c1c3bf28cdfcf90c86eeacb94f2bbd",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint-import-data/same-http-downgrade.downgrade.https.html": [
+   "69d4741f47a478910d4ed6ab020142da621b73b2",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint-import-data/same-http-downgrade.no-redirect.https.html": [
+   "9a1585db551078bc1b0a7d16b95251f1bdad1c84",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint-import-data/same-https.downgrade.https.html": [
+   "da6197fc1398c6a1b8a958b94e865b2d571ba56b",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint/cross-http-downgrade.downgrade.https.html": [
+   "ab1c859bae291fd1aea9a2ddf98ba8320b033a3a",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint/cross-http-downgrade.no-redirect.https.html": [
+   "937aaaa8a67d7afb7a2fc37de4bbeddb5e00beef",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint/cross-https.downgrade.https.html": [
+   "99e10720636f89b7cf2d273f3d40e3922006707b",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint/same-http-downgrade.downgrade.https.html": [
+   "1d152f66d0797d93653320a9d69aa13fb40e9334",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint/same-http-downgrade.no-redirect.https.html": [
+   "d6babfe45e293a53a61e0092f565a2d5562a640e",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint/same-https.downgrade.https.html": [
+   "a0c28b0701fbaa647f2efc9950776a233ab685de",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/xhr/cross-http-downgrade.downgrade.https.html": [
+   "9c7776e6347461fa4114ff60f686a22bab330470",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/xhr/cross-http-downgrade.no-redirect.https.html": [
+   "8300d8fa67b6ba8fa9d1395468e7f260d0dce3b5",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/xhr/cross-https.downgrade.https.html": [
+   "96e7c41dba92b76c322705f7c40240277cf2ee9f",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/xhr/same-http-downgrade.downgrade.https.html": [
+   "146599f5a896008aca3f9d2f72e9b3b6e4305eb0",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/xhr/same-http-downgrade.no-redirect.https.html": [
+   "eb6c5689b94af01903fe62e864a2233a0b042fa6",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/top.meta/upgrade/xhr/same-https.downgrade.https.html": [
+   "2fe37dbe34223bb2dccf062b8bf5b09985b3f7ac",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/worker-classic-data.meta/unset/fetch/cross-http-downgrade.downgrade.https.html": [
+   "e24fc0838021013b744a848145cee3dfdbffb317",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/worker-classic-data.meta/unset/fetch/cross-http-downgrade.no-redirect.https.html": [
+   "b065f136482506aeb0979a3b27e221762af21d38",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/worker-classic-data.meta/unset/fetch/cross-https.downgrade.https.html": [
+   "6ef001bf515350987310a79f885520c1192a5226",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/worker-classic-data.meta/unset/fetch/same-http-downgrade.downgrade.https.html": [
+   "c236aa3db57b95f0e3fd0b04880d2c65ec035cd1",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/worker-classic-data.meta/unset/fetch/same-http-downgrade.no-redirect.https.html": [
+   "ba07fe78d97b6aa14568b149403432524dd276b1",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/worker-classic-data.meta/unset/fetch/same-https.downgrade.https.html": [
+   "04fb348c48dd8b49fdb6d8dc4fa8b09adfbf7a71",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/worker-classic-data.meta/unset/websocket/cross-ws-downgrade.no-redirect.https.html": [
+   "85b2a842e25558d050be648abb1eb22ced7315b3",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/worker-classic-data.meta/unset/websocket/same-ws-downgrade.no-redirect.https.html": [
+   "47a6635e111e718085b60928be7f7ce92815c186",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/worker-classic-data.meta/unset/xhr/cross-http-downgrade.downgrade.https.html": [
+   "53c56a1f85979ad2d42017f26f8594b604bd08cf",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/worker-classic-data.meta/unset/xhr/cross-http-downgrade.no-redirect.https.html": [
+   "b4b9b6f8031ee9b885d60145b4fd84f1b854d1e0",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/worker-classic-data.meta/unset/xhr/cross-https.downgrade.https.html": [
+   "4a92b5e470123fc688ff06f0c6573bd9c17d0c69",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/worker-classic-data.meta/unset/xhr/same-http-downgrade.downgrade.https.html": [
+   "0bb47da9c3f980c9ae3d704bdfe984097736a23d",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/worker-classic-data.meta/unset/xhr/same-http-downgrade.no-redirect.https.html": [
+   "4a7ea8a72f0527d51b4f8b2c3aa0aac0565d0883",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/worker-classic-data.meta/unset/xhr/same-https.downgrade.https.html": [
+   "67d232b65ee0fbcae89fd6ee53adf4228240ca14",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/fetch/cross-http-downgrade.downgrade.https.html": [
+   "30a09597404068b6d101ba7d3e6976f6928ac98c",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/fetch/cross-http-downgrade.no-redirect.https.html": [
+   "c726a18a6d6b9f91b28aea33bb2323d40a36dcf7",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/fetch/cross-https.downgrade.https.html": [
+   "8d273ac65d19bc80f3b2bb76f722a8bbd8b3dcb8",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/fetch/same-http-downgrade.downgrade.https.html": [
+   "8c50860d2a9d8968c53adb80c4f19d0da5e9f35a",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/fetch/same-http-downgrade.no-redirect.https.html": [
+   "364e95b3c1c121d9f2e0fa0eb4749f74d7320f90",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/fetch/same-https.downgrade.https.html": [
+   "f07d94db67bcf30cf87299bc0801badab1757ee5",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/websocket/cross-ws-downgrade.no-redirect.https.html": [
+   "fa6232d958ce8efd062c0eb63f8e28663f0d4359",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/websocket/same-ws-downgrade.no-redirect.https.html": [
+   "2da6643940ea8d623bff97a4c38e35ed0bb88254",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/xhr/cross-http-downgrade.downgrade.https.html": [
+   "46518de4a6b23b533a62a8642fa61e48cf5b435c",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/xhr/cross-http-downgrade.no-redirect.https.html": [
+   "3e8fe269f20348927566fff7dcd7e53c48c938f6",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/xhr/cross-https.downgrade.https.html": [
+   "4c2853f9e3a1108b92c516c52994efd661ab7f1d",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/xhr/same-http-downgrade.downgrade.https.html": [
+   "e3dbf9fb3ac7e636db81ad1e7db45d040f41a170",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/xhr/same-http-downgrade.no-redirect.https.html": [
+   "002ed403c7faec202f2ab4382b1099d27eae1f9e",
+   "testharness"
+  ],
+  "upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/xhr/same-https.downgrade.https.html": [
+   "43c8dcf97b3ea5af9cee9403392b998c8d079a0a",
    "testharness"
   ],
   "upgrade-insecure-requests/generic/test-case.sub.js": [
@@ -500552,34 +507663,6 @@
    "cde29893f5fbd35ff0ccf00f7ee323fbb3194c8b",
    "support"
   ],
-  "upgrade-insecure-requests/iframe-redirect-upgrade.https.html": [
-   "7d0a310cf43e6144d3fc2d13f81d3f8912569e3f",
-   "testharness"
-  ],
-  "upgrade-insecure-requests/iframe-upgrade.https.html": [
-   "d9ba69ea6b9d7bf8f871f5cd56c658142bc114c6",
-   "testharness"
-  ],
-  "upgrade-insecure-requests/image-redirect-upgrade.https.html": [
-   "d72b6218c50ac2203a4c20bc56e61c33db9f1336",
-   "testharness"
-  ],
-  "upgrade-insecure-requests/image-upgrade.https.html": [
-   "75d4b599fee6cacb75480581860d1c123b2eeae0",
-   "testharness"
-  ],
-  "upgrade-insecure-requests/layout-worklet-import-upgrade.https.html": [
-   "9d97377e0ff1bf7949fd6dd9d3f3f9464f440042",
-   "testharness"
-  ],
-  "upgrade-insecure-requests/layout-worklet-redirect-upgrade.https.html": [
-   "dca6abcbfe9bec8f04f3d23df5738ceb2a44612a",
-   "testharness"
-  ],
-  "upgrade-insecure-requests/layout-worklet-upgrade.https.html": [
-   "876bf8428d320556ddfaff2de6f33e0e142be0f1",
-   "testharness"
-  ],
   "upgrade-insecure-requests/link-upgrade.sub.https.html": [
    "46788e8883cad6f9ee91993d6f2b36985cc96de3",
    "testharness"
@@ -500664,54 +507747,6 @@
    "5cf2df57323231a8a5bc7fd8deddc147f4f9d913",
    "support"
   ],
-  "upgrade-insecure-requests/module-worker-import-upgrade.https.html": [
-   "ef103ab049c63d019deb3b8d64116f13c8617034",
-   "testharness"
-  ],
-  "upgrade-insecure-requests/module-worker-redirect-upgrade.https-expected.txt": [
-   "bc6f2cd3189acdbe469abfc4bd9877c03af2a639",
-   "support"
-  ],
-  "upgrade-insecure-requests/module-worker-redirect-upgrade.https.html": [
-   "216f20263cee08a458b6b31afdec1b579ef9d8c7",
-   "testharness"
-  ],
-  "upgrade-insecure-requests/module-worker-upgrade.https-expected.txt": [
-   "819559673d292e873bc4b2dabc43ba152da07d2a",
-   "support"
-  ],
-  "upgrade-insecure-requests/module-worker-upgrade.https.html": [
-   "e81fd10855e03e8b35170181b4b1339dcfc6470f",
-   "testharness"
-  ],
-  "upgrade-insecure-requests/paint-worklet-import-upgrade.https.html": [
-   "eda2f28b44dfcff3ade5b42c0f916637cadcce07",
-   "testharness"
-  ],
-  "upgrade-insecure-requests/paint-worklet-redirect-upgrade.https.html": [
-   "b6da97865563a377ac2df8fb0451a2ec14465532",
-   "testharness"
-  ],
-  "upgrade-insecure-requests/paint-worklet-upgrade.https.html": [
-   "98bdd0e4bf17988168186b4f7145d67646c252e3",
-   "testharness"
-  ],
-  "upgrade-insecure-requests/shared-worker-redirect-upgrade.https-expected.txt": [
-   "49422377eb365b514bda6f3c2845f269e97a340a",
-   "support"
-  ],
-  "upgrade-insecure-requests/shared-worker-redirect-upgrade.https.html": [
-   "28fea03022bf278327e359036888f396c47da8ff",
-   "testharness"
-  ],
-  "upgrade-insecure-requests/shared-worker-upgrade.https-expected.txt": [
-   "453ab3432e59e74ea3e2a023706bc6a0143b706a",
-   "support"
-  ],
-  "upgrade-insecure-requests/shared-worker-upgrade.https.html": [
-   "cf1d3c382e4b139db42e807ab1db166cb0d4fbbb",
-   "testharness"
-  ],
   "upgrade-insecure-requests/spec.src.json": [
    "6aee9a280b0ff5001c77e2d8a688618c049dc226",
    "support"
@@ -500728,34 +507763,6 @@
    "da20d2644b312d6225497081c67fa4b66f12b43a",
    "support"
   ],
-  "upgrade-insecure-requests/websocket-upgrade.https.html": [
-   "aa7237db82b7c57be11f4b362c98314ea0cb0042",
-   "testharness"
-  ],
-  "upgrade-insecure-requests/worker-redirect-upgrade.https-expected.txt": [
-   "bc6f2cd3189acdbe469abfc4bd9877c03af2a639",
-   "support"
-  ],
-  "upgrade-insecure-requests/worker-redirect-upgrade.https.html": [
-   "8349042e69c2a9559ab72c4e19f64478b8868705",
-   "testharness"
-  ],
-  "upgrade-insecure-requests/worker-subresource-fetch-redirect-upgrade.https.html": [
-   "31cec1390c0cf1dec178355abd29796622305262",
-   "testharness"
-  ],
-  "upgrade-insecure-requests/worker-subresource-fetch-upgrade.https.html": [
-   "e559246d8ba71164cbf1b47ee52fdfb9b2bce5dd",
-   "testharness"
-  ],
-  "upgrade-insecure-requests/worker-upgrade.https-expected.txt": [
-   "819559673d292e873bc4b2dabc43ba152da07d2a",
-   "support"
-  ],
-  "upgrade-insecure-requests/worker-upgrade.https.html": [
-   "5a1d58388469d2c7cd15620edaa7ceb665079937",
-   "testharness"
-  ],
   "url/META.yml": [
    "094b266b64b61b97966f2fa88d78dfdf5a00b573",
    "support"
diff --git a/third_party/blink/web_tests/external/wpt/compression/decompression-buffersource.any.js b/third_party/blink/web_tests/external/wpt/compression/decompression-buffersource.any.js
new file mode 100644
index 0000000..3c586e8
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/compression/decompression-buffersource.any.js
@@ -0,0 +1,128 @@
+// META: global=worker
+
+'use strict';
+
+const compressedBytesWithDeflate = [120, 156, 75, 52, 48, 52, 50, 54, 49, 53, 3, 0, 8, 136, 1, 199];
+const compressedBytesWithGzip = [31, 139, 8, 0, 0, 0, 0, 0, 0, 3, 75, 52, 48, 52, 2, 0, 216, 252, 63, 136, 4, 0, 0, 0];
+// Two chunk values below were chosen to make the length of the compressed
+// output be a multiple of 8 bytes.
+const deflateExpectedChunkValue = new TextEncoder().encode('a0123456');
+const gzipExpectedChunkValue = new TextEncoder().encode('a012');
+
+const bufferSourceChunksForDeflate = [
+  {
+    name: 'ArrayBuffer',
+    value: new Uint8Array(compressedBytesWithDeflate).buffer
+  },
+  {
+    name: 'Int8Array',
+    value: new Int8Array(new Uint8Array(compressedBytesWithDeflate).buffer)
+  },
+  {
+    name: 'Uint8Array',
+    value: new Uint8Array(new Uint8Array(compressedBytesWithDeflate).buffer)
+  },
+  {
+    name: 'Uint8ClampedArray',
+    value: new Uint8ClampedArray(new Uint8Array(compressedBytesWithDeflate).buffer)
+  },
+  {
+    name: 'Int16Array',
+    value: new Int16Array(new Uint8Array(compressedBytesWithDeflate).buffer)
+  },
+  {
+    name: 'Uint16Array',
+    value: new Uint16Array(new Uint8Array(compressedBytesWithDeflate).buffer)
+  },
+  {
+    name: 'Int32Array',
+    value: new Int32Array(new Uint8Array(compressedBytesWithDeflate).buffer)
+  },
+  {
+    name: 'Uint32Array',
+    value: new Uint32Array(new Uint8Array(compressedBytesWithDeflate).buffer)
+  },
+  {
+    name: 'Float32Array',
+    value: new Float32Array(new Uint8Array(compressedBytesWithDeflate).buffer)
+  },
+  {
+    name: 'Float64Array',
+    value: new Float64Array(new Uint8Array(compressedBytesWithDeflate).buffer)
+  },
+  {
+    name: 'DataView',
+    value: new DataView(new Uint8Array(compressedBytesWithDeflate).buffer)
+  },
+];
+
+const bufferSourceChunksForGzip = [
+  {
+    name: 'ArrayBuffer',
+    value: new Uint8Array(compressedBytesWithGzip).buffer
+  },
+  {
+    name: 'Int8Array',
+    value: new Int8Array(new Uint8Array(compressedBytesWithGzip).buffer)
+  },
+  {
+    name: 'Uint8Array',
+    value: new Uint8Array(new Uint8Array(compressedBytesWithGzip).buffer)
+  },
+  {
+    name: 'Uint8ClambedArray',
+    value: new Uint8ClampedArray(new Uint8Array(compressedBytesWithGzip).buffer)
+  },
+  {
+    name: 'Int16Array',
+    value: new Int16Array(new Uint8Array(compressedBytesWithGzip).buffer)
+  },
+  {
+    name: 'Uint16Array',
+    value: new Uint16Array(new Uint8Array(compressedBytesWithGzip).buffer)
+  },
+  {
+    name: 'Int32Array',
+    value: new Int32Array(new Uint8Array(compressedBytesWithGzip).buffer)
+  },
+  {
+    name: 'Uint32Array',
+    value: new Uint32Array(new Uint8Array(compressedBytesWithGzip).buffer)
+  },
+  {
+    name: 'Float32Array',
+    value: new Float32Array(new Uint8Array(compressedBytesWithGzip).buffer)
+  },
+  {
+    name: 'Float64Array',
+    value: new Float64Array(new Uint8Array(compressedBytesWithGzip).buffer)
+  },
+  {
+    name: 'DataView',
+    value: new DataView(new Uint8Array(compressedBytesWithGzip).buffer)
+  },
+];
+
+for (const chunk of bufferSourceChunksForDeflate) {
+  promise_test(async t => {
+    const ds = new DecompressionStream('deflate');
+    const reader = ds.readable.getReader();
+    const writer = ds.writable.getWriter();
+    const writePromise = writer.write(chunk.value);
+    writer.close();
+    const { value } = await reader.read();
+    assert_array_equals(Array.from(value), deflateExpectedChunkValue, 'value should match');
+  }, `chunk of type ${chunk.name} should work for deflate`);
+}
+
+for (const chunk of bufferSourceChunksForGzip) {
+  promise_test(async t => {
+    const ds = new DecompressionStream('gzip');
+    const reader = ds.readable.getReader();
+    const writer = ds.writable.getWriter();
+    const writePromise = writer.write(chunk.value);
+    writer.close();
+    const { value } = await reader.read();
+    assert_array_equals(Array.from(value), gzipExpectedChunkValue, 'value should match');
+  }, `chunk of type ${chunk.name} should work for gzip`);
+}
diff --git a/third_party/blink/web_tests/external/wpt/mathml/relations/html5-tree/tabindex-001.html b/third_party/blink/web_tests/external/wpt/mathml/relations/html5-tree/tabindex-001.html
index aaf82f7..8f85368 100644
--- a/third_party/blink/web_tests/external/wpt/mathml/relations/html5-tree/tabindex-001.html
+++ b/third_party/blink/web_tests/external/wpt/mathml/relations/html5-tree/tabindex-001.html
@@ -14,16 +14,20 @@
           const mrow = document.getElementById('mrow');
           assert_equals(mrow.tabIndex, -1, "no attribute");
           mrow.setAttribute("tabindex", "invalid");
+          assert_equals(mrow.getAttribute("tabindex"), "invalid");
           assert_equals(mrow.tabIndex, -1, "invalid");
           mrow.setAttribute("tabindex", "9999999999");
+          assert_equals(mrow.getAttribute("tabindex"), "9999999999");
           assert_equals(mrow.tabIndex, -1, "too large integer");
       }, "default and invalid values on mrow");
       test(() => {
           const mrowLink = document.getElementById('mrow-link');
           assert_equals(mrow.tabIndex, 0, "no attribute");
           mrow.setAttribute("tabindex", "invalid");
+          assert_equals(mrow.getAttribute("tabindex"), "invalid");
           assert_equals(mrow.tabIndex, 0, "invalid");
           mrow.setAttribute("tabindex", "9999999999");
+          assert_equals(mrow.getAttribute("tabindex"), "9999999999");
           assert_equals(mrow.tabIndex, 0, "too large integer");
       }, "default and invalid values on MathML link");
   });
diff --git a/third_party/blink/web_tests/external/wpt/shadow-dom/focus/focus-selector-delegatesFocus-expected.txt b/third_party/blink/web_tests/external/wpt/shadow-dom/focus/focus-selector-delegatesFocus-expected.txt
index 8b0d0bf..3625125 100644
--- a/third_party/blink/web_tests/external/wpt/shadow-dom/focus/focus-selector-delegatesFocus-expected.txt
+++ b/third_party/blink/web_tests/external/wpt/shadow-dom/focus/focus-selector-delegatesFocus-expected.txt
@@ -1,10 +1,10 @@
 This is a testharness.js-based test.
 PASS :focus applies to host with delegatesFocus=true when the shadow root's descendant has focus
-FAIL :focus applies to host with delegatesFocus=true when slotted element has focus assert_true: host matches :focus expected true got false
+PASS :focus does not apply to host with delegatesFocus=true when slotted element has focus
 PASS :focus applies to host with delegatesFocus=true when an element in a nested shadow tree with delegatesFocus=true is focused
 FAIL :focus applies to host with delegatesFocus=true when an element in a nested shadow tree with delegatesFocus=false is focused assert_true: host of nested shadow tree matches focus expected true got false
 FAIL :focus applies to host with delegatesFocus=false when the shadow root's descendant has focus assert_true: host matches :focus expected true got false
-FAIL :focus applies to host with delegatesFocus=false when slotted element has focus assert_true: host matches :focus expected true got false
+PASS :focus does not apply to host with delegatesFocus=false when slotted element has focus
 FAIL :focus applies to host with delegatesFocus=false when an element in a nested shadow tree with delegatesFocus=true is focused assert_true: topmost host matches focus expected true got false
 FAIL :focus applies to host with delegatesFocus=false when an element in a nested shadow tree with delegatesFocus=false is focused assert_true: host of nested shadow tree matches focus expected true got false
 Harness: the test ran to completion.
diff --git a/third_party/blink/web_tests/external/wpt/shadow-dom/focus/focus-selector-delegatesFocus.html b/third_party/blink/web_tests/external/wpt/shadow-dom/focus/focus-selector-delegatesFocus.html
index 38604525..3702f8e2 100644
--- a/third_party/blink/web_tests/external/wpt/shadow-dom/focus/focus-selector-delegatesFocus.html
+++ b/third_party/blink/web_tests/external/wpt/shadow-dom/focus/focus-selector-delegatesFocus.html
@@ -51,8 +51,8 @@
 
     slotted.focus();
     assert_true(slotted.matches(":focus"), "slotted element matches :focus");
-    assert_true(host.matches(":focus"), "host matches :focus");
-  }, `:focus applies to host with delegatesFocus=${delegatesFocus} when slotted element has focus`);
+    assert_false(host.matches(":focus"), "host matches :focus");
+  }, `:focus does not apply to host with delegatesFocus=${delegatesFocus} when slotted element has focus`);
 
   for (const nestedDelegatesFocus of delegatesFocusValues) {
     test(() => {
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/animation-worklet-import-upgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/animation-worklet-import-upgrade.https.html
deleted file mode 100644
index 410322a..0000000
--- a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/animation-worklet-import-upgrade.https.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<!-- Generated by wpt/upgrade-insecure-requests/support/generate.py -->
-<title>Upgrade Insecure Requests: animation-worklet.</title>
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script src="./support/testharness-helper.sub.js"></script>
-<script src="/common/security-features/resources/common.sub.js"></script>
-
-<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
-</head>
-<body>
-<script>
-const tests = generateModuleImportTests(ResourceType.WORKLET, false);
-tests.forEach(test => testMap['animation-worklet'](test));
-</script>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/animation-worklet-redirect-upgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/animation-worklet-redirect-upgrade.https.html
deleted file mode 100644
index 78ec628f..0000000
--- a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/animation-worklet-redirect-upgrade.https.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<!-- Generated by wpt/upgrade-insecure-requests/support/generate.py -->
-<title>Upgrade Insecure Requests: animation-worklet.</title>
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script src="./support/testharness-helper.sub.js"></script>
-<script src="/common/security-features/resources/common.sub.js"></script>
-
-<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
-</head>
-<body>
-<script>
-const tests = generateRedirectTests(ResourceType.WORKLET, false);
-tests.forEach(test => testMap['animation-worklet'](test));
-</script>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/animation-worklet-upgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/animation-worklet-upgrade.https.html
deleted file mode 100644
index 3d451fe5..0000000
--- a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/animation-worklet-upgrade.https.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<!-- Generated by wpt/upgrade-insecure-requests/support/generate.py -->
-<title>Upgrade Insecure Requests: animation-worklet.</title>
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script src="./support/testharness-helper.sub.js"></script>
-<script src="/common/security-features/resources/common.sub.js"></script>
-
-<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
-</head>
-<body>
-<script>
-const tests = generateTests(ResourceType.WORKLET, false);
-tests.forEach(test => testMap['animation-worklet'](test));
-</script>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/audio-worklet-import-upgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/audio-worklet-import-upgrade.https.html
deleted file mode 100644
index 3786b3b6..0000000
--- a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/audio-worklet-import-upgrade.https.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<!-- Generated by wpt/upgrade-insecure-requests/support/generate.py -->
-<title>Upgrade Insecure Requests: audio-worklet.</title>
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script src="./support/testharness-helper.sub.js"></script>
-<script src="/common/security-features/resources/common.sub.js"></script>
-
-<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
-</head>
-<body>
-<script>
-const tests = generateModuleImportTests(ResourceType.WORKLET, false);
-tests.forEach(test => testMap['audio-worklet'](test));
-</script>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/audio-worklet-redirect-upgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/audio-worklet-redirect-upgrade.https.html
deleted file mode 100644
index ecdc506a..0000000
--- a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/audio-worklet-redirect-upgrade.https.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<!-- Generated by wpt/upgrade-insecure-requests/support/generate.py -->
-<title>Upgrade Insecure Requests: audio-worklet.</title>
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script src="./support/testharness-helper.sub.js"></script>
-<script src="/common/security-features/resources/common.sub.js"></script>
-
-<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
-</head>
-<body>
-<script>
-const tests = generateRedirectTests(ResourceType.WORKLET, false);
-tests.forEach(test => testMap['audio-worklet'](test));
-</script>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/audio-worklet-upgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/audio-worklet-upgrade.https.html
deleted file mode 100644
index 704bba9..0000000
--- a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/audio-worklet-upgrade.https.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<!-- Generated by wpt/upgrade-insecure-requests/support/generate.py -->
-<title>Upgrade Insecure Requests: audio-worklet.</title>
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script src="./support/testharness-helper.sub.js"></script>
-<script src="/common/security-features/resources/common.sub.js"></script>
-
-<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
-</head>
-<body>
-<script>
-const tests = generateTests(ResourceType.WORKLET, false);
-tests.forEach(test => testMap['audio-worklet'](test));
-</script>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/fetch/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/fetch/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..b85583f
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/fetch/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for fetch to cross-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "fetch",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/fetch/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/fetch/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..df420b3b
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/fetch/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for fetch to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "fetch",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/fetch/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/fetch/cross-https.downgrade.https.html
new file mode 100644
index 0000000..d4bb05e8
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/fetch/cross-https.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for fetch to cross-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "fetch",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/fetch/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/fetch/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..6d155094
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/fetch/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for fetch to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "fetch",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/fetch/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/fetch/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..7a7fa66
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/fetch/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for fetch to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "fetch",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/fetch/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/fetch/same-https.downgrade.https.html
new file mode 100644
index 0000000..f4a2cf3b
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/fetch/same-https.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for fetch to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "fetch",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/iframe-tag/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/iframe-tag/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..77d852e
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/iframe-tag/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for iframe-tag to cross-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "iframe-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/iframe-tag/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/iframe-tag/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..8ddeada
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/iframe-tag/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for iframe-tag to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "iframe-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/iframe-tag/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/iframe-tag/cross-https.downgrade.https.html
new file mode 100644
index 0000000..ae8d161
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/iframe-tag/cross-https.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for iframe-tag to cross-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "iframe-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/iframe-tag/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/iframe-tag/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..32f330f
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/iframe-tag/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for iframe-tag to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "iframe-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/iframe-tag/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/iframe-tag/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..52dd2dba
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/iframe-tag/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for iframe-tag to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "iframe-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/iframe-tag/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/iframe-tag/same-https.downgrade.https.html
new file mode 100644
index 0000000..88463653
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/iframe-tag/same-https.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for iframe-tag to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "iframe-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/img-tag/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/img-tag/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..4e663d5
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/img-tag/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for img-tag to cross-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "img-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/img-tag/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/img-tag/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..3fe338de
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/img-tag/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for img-tag to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "img-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/img-tag/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/img-tag/cross-https.downgrade.https.html
new file mode 100644
index 0000000..d3b84f0
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/img-tag/cross-https.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for img-tag to cross-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "img-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/img-tag/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/img-tag/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..e6f8e35
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/img-tag/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for img-tag to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "img-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/img-tag/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/img-tag/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..0ad5ed1
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/img-tag/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for img-tag to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "img-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/img-tag/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/img-tag/same-https.downgrade.https.html
new file mode 100644
index 0000000..bd2ed05
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/img-tag/same-https.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for img-tag to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "img-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/sharedworker-classic/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/sharedworker-classic/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..86b0170
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/sharedworker-classic/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for sharedworker-classic to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "sharedworker-classic",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/sharedworker-classic/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/sharedworker-classic/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..274908b
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/sharedworker-classic/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for sharedworker-classic to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "sharedworker-classic",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/sharedworker-classic/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/sharedworker-classic/same-https.downgrade.https.html
new file mode 100644
index 0000000..763fbd6d4
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/sharedworker-classic/same-https.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for sharedworker-classic to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "sharedworker-classic",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/websocket/cross-ws-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/websocket/cross-ws-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..fe77266
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/websocket/cross-ws-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for websocket to cross-ws-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-ws-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "websocket",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/websocket/same-ws-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/websocket/same-ws-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..7e27068e
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/websocket/same-ws-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for websocket to same-ws-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-ws-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "websocket",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-classic/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-classic/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..1144a7b9
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-classic/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worker-classic to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worker-classic",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-classic/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-classic/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..47ecc6f
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-classic/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worker-classic to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worker-classic",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-classic/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-classic/same-https.downgrade.https.html
new file mode 100644
index 0000000..3a75e26
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-classic/same-https.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worker-classic to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worker-classic",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-import-data/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-import-data/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..cfb4519
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-import-data/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worker-import-data to cross-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worker-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-import-data/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-import-data/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..79e6ad25
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-import-data/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worker-import-data to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worker-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-import-data/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-import-data/cross-https.downgrade.https.html
new file mode 100644
index 0000000..68064dc
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-import-data/cross-https.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worker-import-data to cross-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worker-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-import-data/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-import-data/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..fdb0f73e
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-import-data/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worker-import-data to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worker-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-import-data/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-import-data/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..df11191
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-import-data/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worker-import-data to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worker-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-import-data/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-import-data/same-https.downgrade.https.html
new file mode 100644
index 0000000..e3e47cf
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-import-data/same-https.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worker-import-data to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worker-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-module/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-module/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..5976eb13
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-module/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worker-module to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worker-module",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-module/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-module/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..6193235
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-module/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worker-module to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worker-module",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-module/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-module/same-https.downgrade.https.html
new file mode 100644
index 0000000..6c0cc3a
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worker-module/same-https.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worker-module to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worker-module",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation-import-data/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation-import-data/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..73f1ba5
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation-import-data/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-animation-import-data to cross-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-animation-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation-import-data/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation-import-data/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..0267b811
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation-import-data/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-animation-import-data to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-animation-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation-import-data/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation-import-data/cross-https.downgrade.https.html
new file mode 100644
index 0000000..dc014de
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation-import-data/cross-https.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-animation-import-data to cross-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-animation-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation-import-data/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation-import-data/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..781d3c6
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation-import-data/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-animation-import-data to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-animation-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation-import-data/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation-import-data/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..9475c53
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation-import-data/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-animation-import-data to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-animation-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation-import-data/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation-import-data/same-https.downgrade.https.html
new file mode 100644
index 0000000..7e574f9
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation-import-data/same-https.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-animation-import-data to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-animation-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..8e0e431c
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-animation to cross-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-animation",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..70314595
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-animation to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-animation",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation/cross-https.downgrade.https.html
new file mode 100644
index 0000000..126a81d
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation/cross-https.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-animation to cross-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-animation",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..9c4e0e2
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-animation to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-animation",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..1360503
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-animation to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-animation",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation/same-https.downgrade.https.html
new file mode 100644
index 0000000..5ed35529
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-animation/same-https.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-animation to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-animation",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio-import-data/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio-import-data/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..a61c8f7
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio-import-data/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-audio-import-data to cross-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-audio-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio-import-data/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio-import-data/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..61b78e8
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio-import-data/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-audio-import-data to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-audio-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio-import-data/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio-import-data/cross-https.downgrade.https.html
new file mode 100644
index 0000000..e4d12ee6
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio-import-data/cross-https.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-audio-import-data to cross-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-audio-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio-import-data/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio-import-data/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..806e148
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio-import-data/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-audio-import-data to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-audio-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio-import-data/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio-import-data/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..11890a31
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio-import-data/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-audio-import-data to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-audio-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio-import-data/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio-import-data/same-https.downgrade.https.html
new file mode 100644
index 0000000..4158e4e4
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio-import-data/same-https.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-audio-import-data to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-audio-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..032ddc9
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-audio to cross-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-audio",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..63081ef5
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-audio to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-audio",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio/cross-https.downgrade.https.html
new file mode 100644
index 0000000..abd52ef
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio/cross-https.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-audio to cross-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-audio",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..9c7b931
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-audio to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-audio",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..4cfa501
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-audio to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-audio",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio/same-https.downgrade.https.html
new file mode 100644
index 0000000..a4aebcbbd
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-audio/same-https.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-audio to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-audio",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout-import-data/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout-import-data/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..8eb246c
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout-import-data/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-layout-import-data to cross-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-layout-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout-import-data/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout-import-data/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..ce5fcdc
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout-import-data/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-layout-import-data to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-layout-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout-import-data/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout-import-data/cross-https.downgrade.https.html
new file mode 100644
index 0000000..a765c02
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout-import-data/cross-https.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-layout-import-data to cross-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-layout-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout-import-data/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout-import-data/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..d83ecef
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout-import-data/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-layout-import-data to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-layout-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout-import-data/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout-import-data/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..d7d6ff4
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout-import-data/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-layout-import-data to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-layout-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout-import-data/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout-import-data/same-https.downgrade.https.html
new file mode 100644
index 0000000..34b9b4a
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout-import-data/same-https.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-layout-import-data to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-layout-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..45715ea
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-layout to cross-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-layout",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..99a80ac
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-layout to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-layout",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout/cross-https.downgrade.https.html
new file mode 100644
index 0000000..2776905
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout/cross-https.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-layout to cross-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-layout",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..275dc056
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-layout to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-layout",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..3f72a04a
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-layout to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-layout",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout/same-https.downgrade.https.html
new file mode 100644
index 0000000..e038c8e
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-layout/same-https.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-layout to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-layout",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint-import-data/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint-import-data/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..367bedfb
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint-import-data/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-paint-import-data to cross-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-paint-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint-import-data/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint-import-data/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..45c8a2c
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint-import-data/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-paint-import-data to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-paint-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint-import-data/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint-import-data/cross-https.downgrade.https.html
new file mode 100644
index 0000000..8b3ad88
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint-import-data/cross-https.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-paint-import-data to cross-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-paint-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint-import-data/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint-import-data/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..9d9fe1d
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint-import-data/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-paint-import-data to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-paint-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint-import-data/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint-import-data/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..d08ddfb
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint-import-data/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-paint-import-data to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-paint-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint-import-data/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint-import-data/same-https.downgrade.https.html
new file mode 100644
index 0000000..e9e26b1
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint-import-data/same-https.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-paint-import-data to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-paint-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..37d16b6
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-paint to cross-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-paint",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..3336529
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-paint to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-paint",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint/cross-https.downgrade.https.html
new file mode 100644
index 0000000..35ffbd7
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint/cross-https.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-paint to cross-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-paint",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..b92163e
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-paint to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-paint",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..bab2213
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-paint to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-paint",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint/same-https.downgrade.https.html
new file mode 100644
index 0000000..7a1e3f5
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/worklet-paint/same-https.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-paint to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-paint",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/xhr/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/xhr/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..87f334e
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/xhr/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for xhr to cross-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "xhr",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/xhr/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/xhr/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..077f00c
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/xhr/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for xhr to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "xhr",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/xhr/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/xhr/cross-https.downgrade.https.html
new file mode 100644
index 0000000..112f3c0
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/xhr/cross-https.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for xhr to cross-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "xhr",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/xhr/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/xhr/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..fa4303f50
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/xhr/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for xhr to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "xhr",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/xhr/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/xhr/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..066aae1b
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/xhr/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for xhr to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "xhr",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/xhr/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/xhr/same-https.downgrade.https.html
new file mode 100644
index 0000000..7611729
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/unset/xhr/same-https.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for xhr to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "xhr",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/fetch/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/fetch/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..4d815c0
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/fetch/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for fetch to cross-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "fetch",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/fetch/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/fetch/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..cde4f05
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/fetch/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for fetch to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "fetch",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/fetch/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/fetch/cross-https.downgrade.https.html
new file mode 100644
index 0000000..3ef1807
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/fetch/cross-https.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for fetch to cross-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "fetch",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/fetch/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/fetch/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..1162d57
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/fetch/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for fetch to same-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "fetch",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/fetch/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/fetch/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..a001d36
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/fetch/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for fetch to same-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "fetch",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/fetch/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/fetch/same-https.downgrade.https.html
new file mode 100644
index 0000000..c120ee1
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/fetch/same-https.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for fetch to same-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "fetch",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/iframe-tag/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/iframe-tag/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..ddc7514
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/iframe-tag/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for iframe-tag to cross-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "iframe-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/iframe-tag/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/iframe-tag/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..f55db96
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/iframe-tag/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for iframe-tag to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "iframe-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/iframe-tag/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/iframe-tag/cross-https.downgrade.https.html
new file mode 100644
index 0000000..f16e215
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/iframe-tag/cross-https.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for iframe-tag to cross-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "iframe-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/iframe-tag/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/iframe-tag/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..461d81f
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/iframe-tag/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for iframe-tag to same-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "iframe-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/iframe-tag/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/iframe-tag/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..cfb5a665
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/iframe-tag/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for iframe-tag to same-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "iframe-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/iframe-tag/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/iframe-tag/same-https.downgrade.https.html
new file mode 100644
index 0000000..eef7cf4
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/iframe-tag/same-https.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for iframe-tag to same-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "iframe-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/img-tag/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/img-tag/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..4b45675
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/img-tag/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for img-tag to cross-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "img-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/img-tag/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/img-tag/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..1305ce8
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/img-tag/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for img-tag to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "img-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/img-tag/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/img-tag/cross-https.downgrade.https.html
new file mode 100644
index 0000000..eac2bbf
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/img-tag/cross-https.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for img-tag to cross-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "img-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/img-tag/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/img-tag/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..6a03e57
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/img-tag/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for img-tag to same-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "img-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/img-tag/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/img-tag/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..2a38cb5
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/img-tag/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for img-tag to same-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "img-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/img-tag/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/img-tag/same-https.downgrade.https.html
new file mode 100644
index 0000000..9e3e1bf
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/img-tag/same-https.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for img-tag to same-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "img-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/sharedworker-classic/same-http-downgrade.downgrade.https-expected.txt b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/sharedworker-classic/same-http-downgrade.downgrade.https-expected.txt
new file mode 100644
index 0000000..cded8b5
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/sharedworker-classic/same-http-downgrade.downgrade.https-expected.txt
@@ -0,0 +1,4 @@
+This is a testharness.js-based test.
+FAIL Upgrade-Insecure-Requests: Expects allowed for sharedworker-classic to same-http-downgrade origin and downgrade redirection from https context. assert_equals: The resource request should be 'allowed'. expected "allowed" but got "blocked"
+Harness: the test ran to completion.
+
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/sharedworker-classic/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/sharedworker-classic/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..884844f
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/sharedworker-classic/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for sharedworker-classic to same-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "sharedworker-classic",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/sharedworker-classic/same-http-downgrade.no-redirect.https-expected.txt b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/sharedworker-classic/same-http-downgrade.no-redirect.https-expected.txt
new file mode 100644
index 0000000..b199516
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/sharedworker-classic/same-http-downgrade.no-redirect.https-expected.txt
@@ -0,0 +1,4 @@
+This is a testharness.js-based test.
+FAIL Upgrade-Insecure-Requests: Expects allowed for sharedworker-classic to same-http-downgrade origin and no-redirect redirection from https context. assert_equals: The resource request should be 'allowed'. expected "allowed" but got "blocked"
+Harness: the test ran to completion.
+
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/sharedworker-classic/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/sharedworker-classic/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..5f4ef1d
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/sharedworker-classic/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for sharedworker-classic to same-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "sharedworker-classic",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/sharedworker-classic/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/sharedworker-classic/same-https.downgrade.https.html
new file mode 100644
index 0000000..800de21
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/sharedworker-classic/same-https.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for sharedworker-classic to same-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "sharedworker-classic",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/websocket/cross-ws-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/websocket/cross-ws-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..ccbff1f
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/websocket/cross-ws-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for websocket to cross-ws-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-ws-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "websocket",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/websocket/same-ws-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/websocket/same-ws-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..6fcd983
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/websocket/same-ws-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for websocket to same-ws-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-ws-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "websocket",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-classic/same-http-downgrade.downgrade.https-expected.txt b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-classic/same-http-downgrade.downgrade.https-expected.txt
new file mode 100644
index 0000000..87009a4
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-classic/same-http-downgrade.downgrade.https-expected.txt
@@ -0,0 +1,4 @@
+This is a testharness.js-based test.
+FAIL Upgrade-Insecure-Requests: Expects allowed for worker-classic to same-http-downgrade origin and downgrade redirection from https context. assert_equals: The resource request should be 'allowed'. expected "allowed" but got "blocked"
+Harness: the test ran to completion.
+
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-classic/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-classic/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..c033a44
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-classic/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worker-classic to same-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worker-classic",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-classic/same-http-downgrade.no-redirect.https-expected.txt b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-classic/same-http-downgrade.no-redirect.https-expected.txt
new file mode 100644
index 0000000..643d31a
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-classic/same-http-downgrade.no-redirect.https-expected.txt
@@ -0,0 +1,4 @@
+This is a testharness.js-based test.
+FAIL Upgrade-Insecure-Requests: Expects allowed for worker-classic to same-http-downgrade origin and no-redirect redirection from https context. assert_equals: The resource request should be 'allowed'. expected "allowed" but got "blocked"
+Harness: the test ran to completion.
+
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-classic/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-classic/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..99cee0b2
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-classic/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worker-classic to same-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worker-classic",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-classic/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-classic/same-https.downgrade.https.html
new file mode 100644
index 0000000..b542ddc
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-classic/same-https.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worker-classic to same-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worker-classic",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-import-data/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-import-data/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..a11b956
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-import-data/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worker-import-data to cross-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worker-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-import-data/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-import-data/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..0369b4d
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-import-data/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worker-import-data to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worker-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-import-data/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-import-data/cross-https.downgrade.https.html
new file mode 100644
index 0000000..b10b8bc
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-import-data/cross-https.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worker-import-data to cross-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worker-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-import-data/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-import-data/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..276c608
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-import-data/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worker-import-data to same-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worker-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-import-data/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-import-data/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..a8178823
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-import-data/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worker-import-data to same-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worker-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-import-data/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-import-data/same-https.downgrade.https.html
new file mode 100644
index 0000000..1c88f006
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-import-data/same-https.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worker-import-data to same-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worker-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-module/same-http-downgrade.downgrade.https-expected.txt b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-module/same-http-downgrade.downgrade.https-expected.txt
new file mode 100644
index 0000000..182f777
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-module/same-http-downgrade.downgrade.https-expected.txt
@@ -0,0 +1,4 @@
+This is a testharness.js-based test.
+FAIL Upgrade-Insecure-Requests: Expects allowed for worker-module to same-http-downgrade origin and downgrade redirection from https context. assert_equals: The resource request should be 'allowed'. expected "allowed" but got "blocked"
+Harness: the test ran to completion.
+
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-module/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-module/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..80299bba
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-module/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worker-module to same-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worker-module",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-module/same-http-downgrade.no-redirect.https-expected.txt b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-module/same-http-downgrade.no-redirect.https-expected.txt
new file mode 100644
index 0000000..e7c151b
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-module/same-http-downgrade.no-redirect.https-expected.txt
@@ -0,0 +1,4 @@
+This is a testharness.js-based test.
+FAIL Upgrade-Insecure-Requests: Expects allowed for worker-module to same-http-downgrade origin and no-redirect redirection from https context. assert_equals: The resource request should be 'allowed'. expected "allowed" but got "blocked"
+Harness: the test ran to completion.
+
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-module/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-module/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..2d7a207
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-module/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worker-module to same-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worker-module",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-module/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-module/same-https.downgrade.https.html
new file mode 100644
index 0000000..a73e68b
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worker-module/same-https.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worker-module to same-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worker-module",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation-import-data/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation-import-data/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..f3b00d6
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation-import-data/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-animation-import-data to cross-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-animation-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation-import-data/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation-import-data/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..4b42be9
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation-import-data/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-animation-import-data to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-animation-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation-import-data/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation-import-data/cross-https.downgrade.https.html
new file mode 100644
index 0000000..279fb69
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation-import-data/cross-https.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-animation-import-data to cross-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-animation-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation-import-data/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation-import-data/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..302bc0c
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation-import-data/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-animation-import-data to same-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-animation-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation-import-data/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation-import-data/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..5f90729
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation-import-data/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-animation-import-data to same-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-animation-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation-import-data/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation-import-data/same-https.downgrade.https.html
new file mode 100644
index 0000000..b639698
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation-import-data/same-https.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-animation-import-data to same-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-animation-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..ce203e6
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-animation to cross-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-animation",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..efb1987
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-animation to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-animation",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation/cross-https.downgrade.https.html
new file mode 100644
index 0000000..6baa7f45
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation/cross-https.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-animation to cross-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-animation",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..439a7c9
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-animation to same-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-animation",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..3fad5f1
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-animation to same-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-animation",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation/same-https.downgrade.https.html
new file mode 100644
index 0000000..ff5bd878
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-animation/same-https.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-animation to same-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-animation",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio-import-data/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio-import-data/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..350f8a6
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio-import-data/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-audio-import-data to cross-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-audio-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio-import-data/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio-import-data/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..5662c12d
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio-import-data/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-audio-import-data to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-audio-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio-import-data/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio-import-data/cross-https.downgrade.https.html
new file mode 100644
index 0000000..5fb887f
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio-import-data/cross-https.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-audio-import-data to cross-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-audio-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio-import-data/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio-import-data/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..36d14f7
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio-import-data/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-audio-import-data to same-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-audio-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio-import-data/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio-import-data/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..35298ee
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio-import-data/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-audio-import-data to same-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-audio-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio-import-data/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio-import-data/same-https.downgrade.https.html
new file mode 100644
index 0000000..ecc03d2
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio-import-data/same-https.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-audio-import-data to same-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-audio-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..4dff0bf
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-audio to cross-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-audio",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..14206c8f
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-audio to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-audio",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio/cross-https.downgrade.https.html
new file mode 100644
index 0000000..82b7ecbe
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio/cross-https.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-audio to cross-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-audio",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..a5885baa
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-audio to same-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-audio",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..47337cd
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-audio to same-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-audio",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio/same-https.downgrade.https.html
new file mode 100644
index 0000000..2a03d160
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-audio/same-https.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-audio to same-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-audio",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout-import-data/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout-import-data/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..7fe5ae1
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout-import-data/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-layout-import-data to cross-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-layout-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout-import-data/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout-import-data/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..b6b6e02
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout-import-data/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-layout-import-data to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-layout-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout-import-data/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout-import-data/cross-https.downgrade.https.html
new file mode 100644
index 0000000..abd8f262
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout-import-data/cross-https.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-layout-import-data to cross-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-layout-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout-import-data/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout-import-data/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..14bcb5f
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout-import-data/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-layout-import-data to same-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-layout-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout-import-data/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout-import-data/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..241ef91
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout-import-data/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-layout-import-data to same-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-layout-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout-import-data/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout-import-data/same-https.downgrade.https.html
new file mode 100644
index 0000000..0b3ea13a
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout-import-data/same-https.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-layout-import-data to same-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-layout-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..01023441
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-layout to cross-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-layout",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..ced106f
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-layout to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-layout",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout/cross-https.downgrade.https.html
new file mode 100644
index 0000000..96bb1c7
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout/cross-https.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-layout to cross-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-layout",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..d63911d
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-layout to same-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-layout",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..f7dd011
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-layout to same-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-layout",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout/same-https.downgrade.https.html
new file mode 100644
index 0000000..072e5d3c
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-layout/same-https.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-layout to same-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-layout",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint-import-data/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint-import-data/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..89f86130
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint-import-data/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-paint-import-data to cross-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-paint-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint-import-data/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint-import-data/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..ded8c832
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint-import-data/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-paint-import-data to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-paint-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint-import-data/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint-import-data/cross-https.downgrade.https.html
new file mode 100644
index 0000000..7ebca39
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint-import-data/cross-https.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-paint-import-data to cross-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-paint-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint-import-data/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint-import-data/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..266bb33
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint-import-data/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-paint-import-data to same-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-paint-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint-import-data/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint-import-data/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..2d2cbdc
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint-import-data/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-paint-import-data to same-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-paint-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint-import-data/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint-import-data/same-https.downgrade.https.html
new file mode 100644
index 0000000..b37b7ad
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint-import-data/same-https.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-paint-import-data to same-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-paint-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..9e8c20c
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-paint to cross-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-paint",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..cc521e7
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-paint to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-paint",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint/cross-https.downgrade.https.html
new file mode 100644
index 0000000..59b4555
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint/cross-https.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-paint to cross-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-paint",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..e0a2a80
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-paint to same-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-paint",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..0c0fe5c
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-paint to same-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-paint",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint/same-https.downgrade.https.html
new file mode 100644
index 0000000..8d3ab709
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/worklet-paint/same-https.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-paint to same-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-paint",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/xhr/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/xhr/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..4bbdbc0
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/xhr/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for xhr to cross-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "xhr",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/xhr/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/xhr/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..e2c199e
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/xhr/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for xhr to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "xhr",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/xhr/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/xhr/cross-https.downgrade.https.html
new file mode 100644
index 0000000..614e6e83
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/xhr/cross-https.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for xhr to cross-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "xhr",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/xhr/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/xhr/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..ee3bfda
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/xhr/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for xhr to same-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "xhr",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/xhr/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/xhr/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..969e0cf
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/xhr/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for xhr to same-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "xhr",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/xhr/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/xhr/same-https.downgrade.https.html
new file mode 100644
index 0000000..af181e94
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/iframe-blank-inherit.meta/upgrade/xhr/same-https.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for xhr to same-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "iframe-blank"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "xhr",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/fetch/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/fetch/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..6f165b8
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/fetch/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for fetch to cross-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "fetch",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/fetch/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/fetch/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..c154ae6
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/fetch/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for fetch to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "fetch",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/fetch/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/fetch/cross-https.downgrade.https.html
new file mode 100644
index 0000000..19cada4
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/fetch/cross-https.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for fetch to cross-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "fetch",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/fetch/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/fetch/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..7cfede2
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/fetch/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for fetch to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "fetch",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/fetch/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/fetch/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..54a5e9a
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/fetch/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for fetch to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "fetch",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/fetch/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/fetch/same-https.downgrade.https.html
new file mode 100644
index 0000000..9ec1a67
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/fetch/same-https.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for fetch to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "fetch",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/iframe-tag/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/iframe-tag/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..9b4828a
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/iframe-tag/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for iframe-tag to cross-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "iframe-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/iframe-tag/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/iframe-tag/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..f6342e1
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/iframe-tag/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for iframe-tag to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "iframe-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/iframe-tag/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/iframe-tag/cross-https.downgrade.https.html
new file mode 100644
index 0000000..4896679
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/iframe-tag/cross-https.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for iframe-tag to cross-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "iframe-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/iframe-tag/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/iframe-tag/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..efa9eba
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/iframe-tag/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for iframe-tag to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "iframe-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/iframe-tag/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/iframe-tag/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..2e78cec6
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/iframe-tag/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for iframe-tag to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "iframe-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/iframe-tag/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/iframe-tag/same-https.downgrade.https.html
new file mode 100644
index 0000000..7c3d637
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/iframe-tag/same-https.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for iframe-tag to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "iframe-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/img-tag/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/img-tag/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..ec4bc93
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/img-tag/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for img-tag to cross-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "img-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/img-tag/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/img-tag/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..139b07b
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/img-tag/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for img-tag to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "img-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/img-tag/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/img-tag/cross-https.downgrade.https.html
new file mode 100644
index 0000000..0c325ea
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/img-tag/cross-https.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for img-tag to cross-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "img-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/img-tag/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/img-tag/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..e82d1c1
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/img-tag/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for img-tag to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "img-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/img-tag/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/img-tag/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..64ba3c2
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/img-tag/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for img-tag to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "img-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/img-tag/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/img-tag/same-https.downgrade.https.html
new file mode 100644
index 0000000..f7251e7b
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/img-tag/same-https.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for img-tag to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "img-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/sharedworker-classic/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/sharedworker-classic/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..4eb3197
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/sharedworker-classic/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for sharedworker-classic to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "sharedworker-classic",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/sharedworker-classic/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/sharedworker-classic/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..91eb40ea
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/sharedworker-classic/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for sharedworker-classic to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "sharedworker-classic",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/sharedworker-classic/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/sharedworker-classic/same-https.downgrade.https.html
new file mode 100644
index 0000000..36554b7
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/sharedworker-classic/same-https.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for sharedworker-classic to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "sharedworker-classic",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/websocket/cross-ws-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/websocket/cross-ws-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..8212f34
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/websocket/cross-ws-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for websocket to cross-ws-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-ws-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "websocket",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/websocket/same-ws-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/websocket/same-ws-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..5cb9d5f
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/websocket/same-ws-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for websocket to same-ws-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-ws-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "websocket",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-classic/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-classic/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..7d6a1f9c
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-classic/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worker-classic to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worker-classic",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-classic/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-classic/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..106ec5300
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-classic/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worker-classic to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worker-classic",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-classic/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-classic/same-https.downgrade.https.html
new file mode 100644
index 0000000..ca8c3d6
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-classic/same-https.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worker-classic to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worker-classic",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-import-data/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-import-data/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..dbd24d3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-import-data/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worker-import-data to cross-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worker-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-import-data/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-import-data/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..6514b98
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-import-data/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worker-import-data to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worker-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-import-data/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-import-data/cross-https.downgrade.https.html
new file mode 100644
index 0000000..18f4960
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-import-data/cross-https.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worker-import-data to cross-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worker-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-import-data/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-import-data/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..0c16aff
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-import-data/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worker-import-data to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worker-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-import-data/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-import-data/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..524b56d
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-import-data/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worker-import-data to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worker-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-import-data/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-import-data/same-https.downgrade.https.html
new file mode 100644
index 0000000..c6339c9
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-import-data/same-https.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worker-import-data to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worker-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-module/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-module/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..da5ea1a
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-module/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worker-module to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worker-module",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-module/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-module/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..3896037
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-module/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worker-module to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worker-module",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-module/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-module/same-https.downgrade.https.html
new file mode 100644
index 0000000..039baf9
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worker-module/same-https.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worker-module to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worker-module",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation-import-data/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation-import-data/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..0309cb0
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation-import-data/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-animation-import-data to cross-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-animation-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation-import-data/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation-import-data/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..2434b964
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation-import-data/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-animation-import-data to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-animation-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation-import-data/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation-import-data/cross-https.downgrade.https.html
new file mode 100644
index 0000000..ba6f778
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation-import-data/cross-https.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-animation-import-data to cross-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-animation-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation-import-data/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation-import-data/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..6ebeaa6d
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation-import-data/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-animation-import-data to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-animation-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation-import-data/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation-import-data/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..c1c8635
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation-import-data/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-animation-import-data to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-animation-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation-import-data/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation-import-data/same-https.downgrade.https.html
new file mode 100644
index 0000000..9298d15d
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation-import-data/same-https.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-animation-import-data to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-animation-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..a26939d28
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-animation to cross-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-animation",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..2a4cf1e5
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-animation to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-animation",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation/cross-https.downgrade.https.html
new file mode 100644
index 0000000..154b6d0
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation/cross-https.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-animation to cross-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-animation",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..bb1c98a
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-animation to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-animation",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..1c7729e
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-animation to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-animation",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation/same-https.downgrade.https.html
new file mode 100644
index 0000000..9672cfa
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-animation/same-https.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-animation to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-animation",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio-import-data/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio-import-data/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..673dcb3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio-import-data/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-audio-import-data to cross-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-audio-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio-import-data/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio-import-data/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..4ef84c7
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio-import-data/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-audio-import-data to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-audio-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio-import-data/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio-import-data/cross-https.downgrade.https.html
new file mode 100644
index 0000000..6b6d8d9
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio-import-data/cross-https.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-audio-import-data to cross-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-audio-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio-import-data/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio-import-data/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..c7e3806
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio-import-data/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-audio-import-data to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-audio-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio-import-data/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio-import-data/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..e25c166
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio-import-data/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-audio-import-data to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-audio-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio-import-data/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio-import-data/same-https.downgrade.https.html
new file mode 100644
index 0000000..911ba14
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio-import-data/same-https.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-audio-import-data to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-audio-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..e436271
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-audio to cross-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-audio",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..0248efb
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-audio to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-audio",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio/cross-https.downgrade.https.html
new file mode 100644
index 0000000..06194f2
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio/cross-https.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-audio to cross-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-audio",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..bf9cada
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-audio to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-audio",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..413116bc
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-audio to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-audio",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio/same-https.downgrade.https.html
new file mode 100644
index 0000000..c067eba1
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-audio/same-https.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-audio to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-audio",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout-import-data/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout-import-data/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..141146d
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout-import-data/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-layout-import-data to cross-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-layout-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout-import-data/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout-import-data/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..075d6d2e
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout-import-data/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-layout-import-data to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-layout-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout-import-data/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout-import-data/cross-https.downgrade.https.html
new file mode 100644
index 0000000..5f93b90
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout-import-data/cross-https.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-layout-import-data to cross-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-layout-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout-import-data/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout-import-data/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..494acbe
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout-import-data/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-layout-import-data to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-layout-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout-import-data/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout-import-data/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..8342a27
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout-import-data/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-layout-import-data to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-layout-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout-import-data/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout-import-data/same-https.downgrade.https.html
new file mode 100644
index 0000000..de0e3f5
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout-import-data/same-https.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-layout-import-data to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-layout-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..ca849d8
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-layout to cross-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-layout",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..276e785e
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-layout to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-layout",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout/cross-https.downgrade.https.html
new file mode 100644
index 0000000..0cb383a
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout/cross-https.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-layout to cross-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-layout",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..eb79935
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-layout to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-layout",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..823e1f1
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-layout to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-layout",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout/same-https.downgrade.https.html
new file mode 100644
index 0000000..d28a67c
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-layout/same-https.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-layout to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-layout",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint-import-data/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint-import-data/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..8afab24
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint-import-data/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-paint-import-data to cross-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-paint-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint-import-data/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint-import-data/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..95bfb17
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint-import-data/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-paint-import-data to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-paint-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint-import-data/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint-import-data/cross-https.downgrade.https.html
new file mode 100644
index 0000000..c54e3fa
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint-import-data/cross-https.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-paint-import-data to cross-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-paint-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint-import-data/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint-import-data/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..0608f35
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint-import-data/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-paint-import-data to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-paint-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint-import-data/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint-import-data/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..6d1eaad
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint-import-data/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-paint-import-data to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-paint-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint-import-data/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint-import-data/same-https.downgrade.https.html
new file mode 100644
index 0000000..31a8aece
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint-import-data/same-https.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-paint-import-data to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-paint-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..dd9c10d2
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-paint to cross-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-paint",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..c7db718
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-paint to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-paint",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint/cross-https.downgrade.https.html
new file mode 100644
index 0000000..d1f554ff
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint/cross-https.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-paint to cross-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-paint",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..474b54b2
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-paint to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-paint",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..a72e46f
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-paint to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-paint",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint/same-https.downgrade.https.html
new file mode 100644
index 0000000..212288de
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/worklet-paint/same-https.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-paint to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-paint",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/xhr/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/xhr/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..8647515
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/xhr/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for xhr to cross-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "xhr",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/xhr/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/xhr/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..e1eb57b
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/xhr/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for xhr to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "xhr",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/xhr/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/xhr/cross-https.downgrade.https.html
new file mode 100644
index 0000000..bb11019
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/xhr/cross-https.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for xhr to cross-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "xhr",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/xhr/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/xhr/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..8edb94b
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/xhr/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for xhr to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "xhr",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/xhr/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/xhr/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..38d91f26
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/xhr/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for xhr to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "xhr",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/xhr/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/xhr/same-https.downgrade.https.html
new file mode 100644
index 0000000..2bce883
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/unset/xhr/same-https.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for xhr to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "xhr",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/fetch/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/fetch/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..a551418
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/fetch/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for fetch to cross-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "fetch",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/fetch/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/fetch/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..f4d9cc7f
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/fetch/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for fetch to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "fetch",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/fetch/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/fetch/cross-https.downgrade.https.html
new file mode 100644
index 0000000..123b1eb
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/fetch/cross-https.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for fetch to cross-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "fetch",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/fetch/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/fetch/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..c64f245
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/fetch/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for fetch to same-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "fetch",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/fetch/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/fetch/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..f9d1194
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/fetch/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for fetch to same-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "fetch",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/fetch/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/fetch/same-https.downgrade.https.html
new file mode 100644
index 0000000..5b132dd
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/fetch/same-https.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for fetch to same-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "fetch",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/iframe-tag/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/iframe-tag/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..6b0f777
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/iframe-tag/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for iframe-tag to cross-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "iframe-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/iframe-tag/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/iframe-tag/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..fc07cfc
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/iframe-tag/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for iframe-tag to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "iframe-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/iframe-tag/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/iframe-tag/cross-https.downgrade.https.html
new file mode 100644
index 0000000..06b2b8e
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/iframe-tag/cross-https.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for iframe-tag to cross-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "iframe-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/iframe-tag/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/iframe-tag/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..0c84e45
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/iframe-tag/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for iframe-tag to same-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "iframe-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/iframe-tag/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/iframe-tag/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..9430c55
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/iframe-tag/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for iframe-tag to same-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "iframe-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/iframe-tag/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/iframe-tag/same-https.downgrade.https.html
new file mode 100644
index 0000000..5d78db1e
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/iframe-tag/same-https.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for iframe-tag to same-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "iframe-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/img-tag/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/img-tag/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..818f018
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/img-tag/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for img-tag to cross-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "img-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/img-tag/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/img-tag/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..3c5eb7f
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/img-tag/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for img-tag to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "img-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/img-tag/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/img-tag/cross-https.downgrade.https.html
new file mode 100644
index 0000000..d636efd
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/img-tag/cross-https.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for img-tag to cross-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "img-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/img-tag/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/img-tag/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..24eb4fcd
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/img-tag/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for img-tag to same-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "img-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/img-tag/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/img-tag/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..c71a1f2
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/img-tag/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for img-tag to same-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "img-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/img-tag/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/img-tag/same-https.downgrade.https.html
new file mode 100644
index 0000000..1b20088
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/img-tag/same-https.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for img-tag to same-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "img-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/sharedworker-classic/same-http-downgrade.downgrade.https-expected.txt b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/sharedworker-classic/same-http-downgrade.downgrade.https-expected.txt
new file mode 100644
index 0000000..cded8b5
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/sharedworker-classic/same-http-downgrade.downgrade.https-expected.txt
@@ -0,0 +1,4 @@
+This is a testharness.js-based test.
+FAIL Upgrade-Insecure-Requests: Expects allowed for sharedworker-classic to same-http-downgrade origin and downgrade redirection from https context. assert_equals: The resource request should be 'allowed'. expected "allowed" but got "blocked"
+Harness: the test ran to completion.
+
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/sharedworker-classic/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/sharedworker-classic/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..24badc0
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/sharedworker-classic/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for sharedworker-classic to same-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "sharedworker-classic",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/sharedworker-classic/same-http-downgrade.no-redirect.https-expected.txt b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/sharedworker-classic/same-http-downgrade.no-redirect.https-expected.txt
new file mode 100644
index 0000000..b199516
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/sharedworker-classic/same-http-downgrade.no-redirect.https-expected.txt
@@ -0,0 +1,4 @@
+This is a testharness.js-based test.
+FAIL Upgrade-Insecure-Requests: Expects allowed for sharedworker-classic to same-http-downgrade origin and no-redirect redirection from https context. assert_equals: The resource request should be 'allowed'. expected "allowed" but got "blocked"
+Harness: the test ran to completion.
+
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/sharedworker-classic/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/sharedworker-classic/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..3b90431
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/sharedworker-classic/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for sharedworker-classic to same-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "sharedworker-classic",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/sharedworker-classic/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/sharedworker-classic/same-https.downgrade.https.html
new file mode 100644
index 0000000..d8df110
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/sharedworker-classic/same-https.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for sharedworker-classic to same-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "sharedworker-classic",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/websocket/cross-ws-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/websocket/cross-ws-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..b1f5b39f
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/websocket/cross-ws-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for websocket to cross-ws-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-ws-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "websocket",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/websocket/same-ws-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/websocket/same-ws-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..64e96fd5
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/websocket/same-ws-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for websocket to same-ws-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-ws-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "websocket",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-classic/same-http-downgrade.downgrade.https-expected.txt b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-classic/same-http-downgrade.downgrade.https-expected.txt
new file mode 100644
index 0000000..87009a4
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-classic/same-http-downgrade.downgrade.https-expected.txt
@@ -0,0 +1,4 @@
+This is a testharness.js-based test.
+FAIL Upgrade-Insecure-Requests: Expects allowed for worker-classic to same-http-downgrade origin and downgrade redirection from https context. assert_equals: The resource request should be 'allowed'. expected "allowed" but got "blocked"
+Harness: the test ran to completion.
+
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-classic/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-classic/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..90368ad
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-classic/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worker-classic to same-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worker-classic",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-classic/same-http-downgrade.no-redirect.https-expected.txt b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-classic/same-http-downgrade.no-redirect.https-expected.txt
new file mode 100644
index 0000000..643d31a
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-classic/same-http-downgrade.no-redirect.https-expected.txt
@@ -0,0 +1,4 @@
+This is a testharness.js-based test.
+FAIL Upgrade-Insecure-Requests: Expects allowed for worker-classic to same-http-downgrade origin and no-redirect redirection from https context. assert_equals: The resource request should be 'allowed'. expected "allowed" but got "blocked"
+Harness: the test ran to completion.
+
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-classic/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-classic/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..7155bca
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-classic/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worker-classic to same-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worker-classic",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-classic/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-classic/same-https.downgrade.https.html
new file mode 100644
index 0000000..1293e4b
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-classic/same-https.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worker-classic to same-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worker-classic",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-import-data/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-import-data/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..f045f76b
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-import-data/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worker-import-data to cross-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worker-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-import-data/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-import-data/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..4e846317
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-import-data/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worker-import-data to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worker-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-import-data/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-import-data/cross-https.downgrade.https.html
new file mode 100644
index 0000000..c1c95cc
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-import-data/cross-https.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worker-import-data to cross-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worker-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-import-data/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-import-data/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..d9bcd01
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-import-data/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worker-import-data to same-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worker-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-import-data/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-import-data/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..26eeefb
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-import-data/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worker-import-data to same-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worker-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-import-data/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-import-data/same-https.downgrade.https.html
new file mode 100644
index 0000000..2208f88
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-import-data/same-https.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worker-import-data to same-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worker-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-module/same-http-downgrade.downgrade.https-expected.txt b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-module/same-http-downgrade.downgrade.https-expected.txt
new file mode 100644
index 0000000..182f777
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-module/same-http-downgrade.downgrade.https-expected.txt
@@ -0,0 +1,4 @@
+This is a testharness.js-based test.
+FAIL Upgrade-Insecure-Requests: Expects allowed for worker-module to same-http-downgrade origin and downgrade redirection from https context. assert_equals: The resource request should be 'allowed'. expected "allowed" but got "blocked"
+Harness: the test ran to completion.
+
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-module/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-module/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..6a09e8c
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-module/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worker-module to same-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worker-module",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-module/same-http-downgrade.no-redirect.https-expected.txt b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-module/same-http-downgrade.no-redirect.https-expected.txt
new file mode 100644
index 0000000..e7c151b
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-module/same-http-downgrade.no-redirect.https-expected.txt
@@ -0,0 +1,4 @@
+This is a testharness.js-based test.
+FAIL Upgrade-Insecure-Requests: Expects allowed for worker-module to same-http-downgrade origin and no-redirect redirection from https context. assert_equals: The resource request should be 'allowed'. expected "allowed" but got "blocked"
+Harness: the test ran to completion.
+
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-module/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-module/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..c249771
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-module/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worker-module to same-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worker-module",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-module/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-module/same-https.downgrade.https.html
new file mode 100644
index 0000000..42b62af
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worker-module/same-https.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worker-module to same-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worker-module",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation-import-data/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation-import-data/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..90fe184
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation-import-data/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-animation-import-data to cross-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-animation-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation-import-data/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation-import-data/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..1288c7c6
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation-import-data/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-animation-import-data to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-animation-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation-import-data/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation-import-data/cross-https.downgrade.https.html
new file mode 100644
index 0000000..07c27fe
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation-import-data/cross-https.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-animation-import-data to cross-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-animation-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation-import-data/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation-import-data/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..b7a12e0
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation-import-data/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-animation-import-data to same-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-animation-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation-import-data/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation-import-data/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..5f27dc4d
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation-import-data/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-animation-import-data to same-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-animation-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation-import-data/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation-import-data/same-https.downgrade.https.html
new file mode 100644
index 0000000..a0fa92b
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation-import-data/same-https.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-animation-import-data to same-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-animation-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..fd35b79
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-animation to cross-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-animation",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..ee34404
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-animation to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-animation",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation/cross-https.downgrade.https.html
new file mode 100644
index 0000000..db38f14
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation/cross-https.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-animation to cross-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-animation",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..504cf09
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-animation to same-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-animation",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..698a985ae
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-animation to same-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-animation",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation/same-https.downgrade.https.html
new file mode 100644
index 0000000..5d7e021
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-animation/same-https.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-animation to same-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-animation",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio-import-data/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio-import-data/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..d3a6c681
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio-import-data/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-audio-import-data to cross-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-audio-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio-import-data/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio-import-data/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..f50e00ed
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio-import-data/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-audio-import-data to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-audio-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio-import-data/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio-import-data/cross-https.downgrade.https.html
new file mode 100644
index 0000000..effd4a26
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio-import-data/cross-https.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-audio-import-data to cross-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-audio-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio-import-data/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio-import-data/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..f19484b
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio-import-data/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-audio-import-data to same-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-audio-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio-import-data/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio-import-data/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..db00900
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio-import-data/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-audio-import-data to same-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-audio-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio-import-data/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio-import-data/same-https.downgrade.https.html
new file mode 100644
index 0000000..706e439
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio-import-data/same-https.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-audio-import-data to same-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-audio-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..581cbcdf
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-audio to cross-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-audio",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..1dfadd6
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-audio to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-audio",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio/cross-https.downgrade.https.html
new file mode 100644
index 0000000..9f56262
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio/cross-https.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-audio to cross-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-audio",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..bcfec76
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-audio to same-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-audio",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..71d5629d
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-audio to same-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-audio",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio/same-https.downgrade.https.html
new file mode 100644
index 0000000..ad67ada
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-audio/same-https.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-audio to same-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-audio",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout-import-data/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout-import-data/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..aa302da
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout-import-data/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-layout-import-data to cross-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-layout-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout-import-data/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout-import-data/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..f108bda
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout-import-data/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-layout-import-data to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-layout-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout-import-data/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout-import-data/cross-https.downgrade.https.html
new file mode 100644
index 0000000..6b05e643
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout-import-data/cross-https.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-layout-import-data to cross-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-layout-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout-import-data/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout-import-data/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..6b5418df
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout-import-data/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-layout-import-data to same-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-layout-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout-import-data/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout-import-data/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..81c6958
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout-import-data/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-layout-import-data to same-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-layout-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout-import-data/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout-import-data/same-https.downgrade.https.html
new file mode 100644
index 0000000..29acc0e
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout-import-data/same-https.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-layout-import-data to same-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-layout-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..7fe40097
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-layout to cross-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-layout",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..0a03c48
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-layout to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-layout",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout/cross-https.downgrade.https.html
new file mode 100644
index 0000000..1d2c5933
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout/cross-https.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-layout to cross-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-layout",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..b3ebc435
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-layout to same-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-layout",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..26279c5f
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-layout to same-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-layout",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout/same-https.downgrade.https.html
new file mode 100644
index 0000000..5e1a4ec
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-layout/same-https.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-layout to same-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-layout",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint-import-data/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint-import-data/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..46cee95
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint-import-data/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-paint-import-data to cross-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-paint-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint-import-data/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint-import-data/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..b2b9bbd4b
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint-import-data/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-paint-import-data to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-paint-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint-import-data/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint-import-data/cross-https.downgrade.https.html
new file mode 100644
index 0000000..e5dd3eb3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint-import-data/cross-https.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-paint-import-data to cross-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-paint-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint-import-data/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint-import-data/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..6c642903
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint-import-data/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-paint-import-data to same-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-paint-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint-import-data/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint-import-data/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..6ac8293
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint-import-data/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-paint-import-data to same-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-paint-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint-import-data/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint-import-data/same-https.downgrade.https.html
new file mode 100644
index 0000000..f17b252
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint-import-data/same-https.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-paint-import-data to same-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-paint-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..1df14a9
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-paint to cross-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-paint",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..b2f2dbb
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-paint to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-paint",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint/cross-https.downgrade.https.html
new file mode 100644
index 0000000..189232b
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint/cross-https.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-paint to cross-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-paint",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..8adac34
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-paint to same-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-paint",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..91e1935
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-paint to same-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-paint",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint/same-https.downgrade.https.html
new file mode 100644
index 0000000..79dd7c5
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/worklet-paint/same-https.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-paint to same-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "worklet-paint",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/xhr/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/xhr/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..15443fa2
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/xhr/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for xhr to cross-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "xhr",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/xhr/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/xhr/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..d72acbf
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/xhr/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for xhr to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "xhr",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/xhr/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/xhr/cross-https.downgrade.https.html
new file mode 100644
index 0000000..b22b35d
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/xhr/cross-https.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for xhr to cross-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "xhr",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/xhr/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/xhr/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..e3a5967
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/xhr/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for xhr to same-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "xhr",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/xhr/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/xhr/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..dd4c6d8
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/xhr/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for xhr to same-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "xhr",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/xhr/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/xhr/same-https.downgrade.https.html
new file mode 100644
index 0000000..3068ecc
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/srcdoc-inherit.meta/upgrade/xhr/same-https.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for xhr to same-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "srcdoc"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "xhr",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..2a7790c
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for fetch to cross-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "fetch",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/cross-http-downgrade.downgrade.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/cross-http-downgrade.downgrade.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/cross-http-downgrade.downgrade.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..6911881f
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for fetch to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "fetch",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/cross-http-downgrade.no-redirect.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/cross-http-downgrade.no-redirect.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/cross-http-downgrade.no-redirect.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/cross-https.downgrade.https.html
new file mode 100644
index 0000000..bf18d02
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/cross-https.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for fetch to cross-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "fetch",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/cross-https.downgrade.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/cross-https.downgrade.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/cross-https.downgrade.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..5f031da8
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for fetch to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "fetch",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/same-http-downgrade.downgrade.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/same-http-downgrade.downgrade.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/same-http-downgrade.downgrade.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..63e6c10
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for fetch to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "fetch",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/same-http-downgrade.no-redirect.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/same-http-downgrade.no-redirect.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/same-http-downgrade.no-redirect.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/same-https.downgrade.https.html
new file mode 100644
index 0000000..4769b3e4
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/same-https.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for fetch to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "fetch",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/same-https.downgrade.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/same-https.downgrade.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/fetch/same-https.downgrade.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..c8da091c
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for iframe-tag to cross-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "iframe-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/cross-http-downgrade.downgrade.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/cross-http-downgrade.downgrade.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/cross-http-downgrade.downgrade.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..0ad59eb
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for iframe-tag to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "iframe-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/cross-http-downgrade.no-redirect.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/cross-http-downgrade.no-redirect.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/cross-http-downgrade.no-redirect.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/cross-https.downgrade.https.html
new file mode 100644
index 0000000..128fe831
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/cross-https.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for iframe-tag to cross-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "iframe-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/cross-https.downgrade.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/cross-https.downgrade.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/cross-https.downgrade.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..d11fcf97
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for iframe-tag to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "iframe-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/same-http-downgrade.downgrade.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/same-http-downgrade.downgrade.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/same-http-downgrade.downgrade.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..6032303
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for iframe-tag to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "iframe-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/same-http-downgrade.no-redirect.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/same-http-downgrade.no-redirect.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/same-http-downgrade.no-redirect.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/same-https.downgrade.https.html
new file mode 100644
index 0000000..661356c3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/same-https.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for iframe-tag to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "iframe-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/same-https.downgrade.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/same-https.downgrade.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/iframe-tag/same-https.downgrade.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..c412844
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for img-tag to cross-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "img-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/cross-http-downgrade.downgrade.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/cross-http-downgrade.downgrade.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/cross-http-downgrade.downgrade.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..fff93a9e
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for img-tag to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "img-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/cross-http-downgrade.no-redirect.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/cross-http-downgrade.no-redirect.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/cross-http-downgrade.no-redirect.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/cross-https.downgrade.https.html
new file mode 100644
index 0000000..b63847a7c
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/cross-https.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for img-tag to cross-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "img-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/cross-https.downgrade.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/cross-https.downgrade.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/cross-https.downgrade.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..5f53c2b
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for img-tag to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "img-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/same-http-downgrade.downgrade.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/same-http-downgrade.downgrade.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/same-http-downgrade.downgrade.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..0d890c4
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for img-tag to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "img-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/same-http-downgrade.no-redirect.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/same-http-downgrade.no-redirect.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/same-http-downgrade.no-redirect.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/same-https.downgrade.https.html
new file mode 100644
index 0000000..bfcb628c
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/same-https.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for img-tag to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "img-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/same-https.downgrade.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/same-https.downgrade.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/img-tag/same-https.downgrade.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/sharedworker-classic/same-http-downgrade.downgrade.https-expected.txt b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/sharedworker-classic/same-http-downgrade.downgrade.https-expected.txt
new file mode 100644
index 0000000..cded8b5
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/sharedworker-classic/same-http-downgrade.downgrade.https-expected.txt
@@ -0,0 +1,4 @@
+This is a testharness.js-based test.
+FAIL Upgrade-Insecure-Requests: Expects allowed for sharedworker-classic to same-http-downgrade origin and downgrade redirection from https context. assert_equals: The resource request should be 'allowed'. expected "allowed" but got "blocked"
+Harness: the test ran to completion.
+
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/sharedworker-classic/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/sharedworker-classic/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..9eccbf01
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/sharedworker-classic/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for sharedworker-classic to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "sharedworker-classic",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/sharedworker-classic/same-http-downgrade.downgrade.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/sharedworker-classic/same-http-downgrade.downgrade.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/sharedworker-classic/same-http-downgrade.downgrade.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/sharedworker-classic/same-http-downgrade.no-redirect.https-expected.txt b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/sharedworker-classic/same-http-downgrade.no-redirect.https-expected.txt
new file mode 100644
index 0000000..b199516
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/sharedworker-classic/same-http-downgrade.no-redirect.https-expected.txt
@@ -0,0 +1,4 @@
+This is a testharness.js-based test.
+FAIL Upgrade-Insecure-Requests: Expects allowed for sharedworker-classic to same-http-downgrade origin and no-redirect redirection from https context. assert_equals: The resource request should be 'allowed'. expected "allowed" but got "blocked"
+Harness: the test ran to completion.
+
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/sharedworker-classic/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/sharedworker-classic/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..8e5ea4a
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/sharedworker-classic/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for sharedworker-classic to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "sharedworker-classic",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/sharedworker-classic/same-http-downgrade.no-redirect.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/sharedworker-classic/same-http-downgrade.no-redirect.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/sharedworker-classic/same-http-downgrade.no-redirect.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/sharedworker-classic/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/sharedworker-classic/same-https.downgrade.https.html
new file mode 100644
index 0000000..470727e0
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/sharedworker-classic/same-https.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for sharedworker-classic to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "sharedworker-classic",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/sharedworker-classic/same-https.downgrade.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/sharedworker-classic/same-https.downgrade.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/sharedworker-classic/same-https.downgrade.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/websocket/cross-ws-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/websocket/cross-ws-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..4a52dfc8
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/websocket/cross-ws-downgrade.no-redirect.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for websocket to cross-ws-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-ws-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "websocket",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/websocket/cross-ws-downgrade.no-redirect.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/websocket/cross-ws-downgrade.no-redirect.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/websocket/cross-ws-downgrade.no-redirect.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/websocket/same-ws-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/websocket/same-ws-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..805622a8
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/websocket/same-ws-downgrade.no-redirect.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for websocket to same-ws-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-ws-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "websocket",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/websocket/same-ws-downgrade.no-redirect.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/websocket/same-ws-downgrade.no-redirect.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/websocket/same-ws-downgrade.no-redirect.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-classic/same-http-downgrade.downgrade.https-expected.txt b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-classic/same-http-downgrade.downgrade.https-expected.txt
new file mode 100644
index 0000000..87009a4
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-classic/same-http-downgrade.downgrade.https-expected.txt
@@ -0,0 +1,4 @@
+This is a testharness.js-based test.
+FAIL Upgrade-Insecure-Requests: Expects allowed for worker-classic to same-http-downgrade origin and downgrade redirection from https context. assert_equals: The resource request should be 'allowed'. expected "allowed" but got "blocked"
+Harness: the test ran to completion.
+
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-classic/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-classic/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..71761b8
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-classic/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worker-classic to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worker-classic",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-classic/same-http-downgrade.downgrade.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-classic/same-http-downgrade.downgrade.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-classic/same-http-downgrade.downgrade.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-classic/same-http-downgrade.no-redirect.https-expected.txt b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-classic/same-http-downgrade.no-redirect.https-expected.txt
new file mode 100644
index 0000000..643d31a
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-classic/same-http-downgrade.no-redirect.https-expected.txt
@@ -0,0 +1,4 @@
+This is a testharness.js-based test.
+FAIL Upgrade-Insecure-Requests: Expects allowed for worker-classic to same-http-downgrade origin and no-redirect redirection from https context. assert_equals: The resource request should be 'allowed'. expected "allowed" but got "blocked"
+Harness: the test ran to completion.
+
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-classic/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-classic/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..abd781bf
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-classic/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worker-classic to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worker-classic",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-classic/same-http-downgrade.no-redirect.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-classic/same-http-downgrade.no-redirect.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-classic/same-http-downgrade.no-redirect.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-classic/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-classic/same-https.downgrade.https.html
new file mode 100644
index 0000000..514ea38
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-classic/same-https.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worker-classic to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worker-classic",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-classic/same-https.downgrade.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-classic/same-https.downgrade.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-classic/same-https.downgrade.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..3b56e7a
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worker-import-data to cross-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worker-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/cross-http-downgrade.downgrade.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/cross-http-downgrade.downgrade.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/cross-http-downgrade.downgrade.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..2d0474e
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worker-import-data to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worker-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/cross-http-downgrade.no-redirect.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/cross-http-downgrade.no-redirect.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/cross-http-downgrade.no-redirect.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/cross-https.downgrade.https.html
new file mode 100644
index 0000000..71353a3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/cross-https.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worker-import-data to cross-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worker-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/cross-https.downgrade.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/cross-https.downgrade.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/cross-https.downgrade.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..8490d93
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worker-import-data to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worker-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/same-http-downgrade.downgrade.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/same-http-downgrade.downgrade.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/same-http-downgrade.downgrade.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..cf8591f
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worker-import-data to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worker-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/same-http-downgrade.no-redirect.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/same-http-downgrade.no-redirect.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/same-http-downgrade.no-redirect.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/same-https.downgrade.https.html
new file mode 100644
index 0000000..9117f94
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/same-https.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worker-import-data to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worker-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/same-https.downgrade.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/same-https.downgrade.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-import-data/same-https.downgrade.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-module/same-http-downgrade.downgrade.https-expected.txt b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-module/same-http-downgrade.downgrade.https-expected.txt
new file mode 100644
index 0000000..182f777
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-module/same-http-downgrade.downgrade.https-expected.txt
@@ -0,0 +1,4 @@
+This is a testharness.js-based test.
+FAIL Upgrade-Insecure-Requests: Expects allowed for worker-module to same-http-downgrade origin and downgrade redirection from https context. assert_equals: The resource request should be 'allowed'. expected "allowed" but got "blocked"
+Harness: the test ran to completion.
+
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-module/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-module/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..f01a9c0
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-module/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worker-module to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worker-module",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-module/same-http-downgrade.downgrade.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-module/same-http-downgrade.downgrade.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-module/same-http-downgrade.downgrade.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-module/same-http-downgrade.no-redirect.https-expected.txt b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-module/same-http-downgrade.no-redirect.https-expected.txt
new file mode 100644
index 0000000..e7c151b
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-module/same-http-downgrade.no-redirect.https-expected.txt
@@ -0,0 +1,4 @@
+This is a testharness.js-based test.
+FAIL Upgrade-Insecure-Requests: Expects allowed for worker-module to same-http-downgrade origin and no-redirect redirection from https context. assert_equals: The resource request should be 'allowed'. expected "allowed" but got "blocked"
+Harness: the test ran to completion.
+
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-module/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-module/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..1f7b24ce
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-module/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worker-module to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worker-module",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-module/same-http-downgrade.no-redirect.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-module/same-http-downgrade.no-redirect.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-module/same-http-downgrade.no-redirect.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-module/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-module/same-https.downgrade.https.html
new file mode 100644
index 0000000..4dda1d0
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-module/same-https.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worker-module to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worker-module",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-module/same-https.downgrade.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-module/same-https.downgrade.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worker-module/same-https.downgrade.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..668bde7
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-animation-import-data to cross-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-animation-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/cross-http-downgrade.downgrade.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/cross-http-downgrade.downgrade.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/cross-http-downgrade.downgrade.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..6c94064
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-animation-import-data to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-animation-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/cross-http-downgrade.no-redirect.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/cross-http-downgrade.no-redirect.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/cross-http-downgrade.no-redirect.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/cross-https.downgrade.https.html
new file mode 100644
index 0000000..89a5aef
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/cross-https.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-animation-import-data to cross-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-animation-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/cross-https.downgrade.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/cross-https.downgrade.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/cross-https.downgrade.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..0cbf66c6
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-animation-import-data to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-animation-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/same-http-downgrade.downgrade.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/same-http-downgrade.downgrade.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/same-http-downgrade.downgrade.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..6e4e8ab
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-animation-import-data to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-animation-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/same-http-downgrade.no-redirect.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/same-http-downgrade.no-redirect.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/same-http-downgrade.no-redirect.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/same-https.downgrade.https.html
new file mode 100644
index 0000000..ab1f02a
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/same-https.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-animation-import-data to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-animation-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/same-https.downgrade.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/same-https.downgrade.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation-import-data/same-https.downgrade.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..8960779
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-animation to cross-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-animation",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/cross-http-downgrade.downgrade.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/cross-http-downgrade.downgrade.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/cross-http-downgrade.downgrade.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..49b7df1c
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-animation to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-animation",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/cross-http-downgrade.no-redirect.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/cross-http-downgrade.no-redirect.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/cross-http-downgrade.no-redirect.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/cross-https.downgrade.https.html
new file mode 100644
index 0000000..8e4b923
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/cross-https.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-animation to cross-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-animation",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/cross-https.downgrade.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/cross-https.downgrade.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/cross-https.downgrade.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..d4a95355
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-animation to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-animation",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/same-http-downgrade.downgrade.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/same-http-downgrade.downgrade.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/same-http-downgrade.downgrade.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..a8c88f4b
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-animation to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-animation",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/same-http-downgrade.no-redirect.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/same-http-downgrade.no-redirect.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/same-http-downgrade.no-redirect.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/same-https.downgrade.https.html
new file mode 100644
index 0000000..2f39bbb
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/same-https.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-animation to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-animation",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/same-https.downgrade.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/same-https.downgrade.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-animation/same-https.downgrade.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..5f9500e2
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-audio-import-data to cross-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-audio-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/cross-http-downgrade.downgrade.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/cross-http-downgrade.downgrade.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/cross-http-downgrade.downgrade.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..18cd96e
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-audio-import-data to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-audio-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/cross-http-downgrade.no-redirect.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/cross-http-downgrade.no-redirect.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/cross-http-downgrade.no-redirect.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/cross-https.downgrade.https.html
new file mode 100644
index 0000000..ba6ed32a
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/cross-https.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-audio-import-data to cross-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-audio-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/cross-https.downgrade.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/cross-https.downgrade.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/cross-https.downgrade.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..309dd78
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-audio-import-data to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-audio-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/same-http-downgrade.downgrade.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/same-http-downgrade.downgrade.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/same-http-downgrade.downgrade.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..12f598f
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-audio-import-data to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-audio-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/same-http-downgrade.no-redirect.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/same-http-downgrade.no-redirect.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/same-http-downgrade.no-redirect.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/same-https.downgrade.https.html
new file mode 100644
index 0000000..20c901c
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/same-https.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-audio-import-data to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-audio-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/same-https.downgrade.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/same-https.downgrade.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio-import-data/same-https.downgrade.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..9b59f0ae
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-audio to cross-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-audio",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/cross-http-downgrade.downgrade.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/cross-http-downgrade.downgrade.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/cross-http-downgrade.downgrade.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..feae96d
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-audio to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-audio",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/cross-http-downgrade.no-redirect.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/cross-http-downgrade.no-redirect.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/cross-http-downgrade.no-redirect.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/cross-https.downgrade.https.html
new file mode 100644
index 0000000..636ab9d
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/cross-https.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-audio to cross-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-audio",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/cross-https.downgrade.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/cross-https.downgrade.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/cross-https.downgrade.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..bff934a
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-audio to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-audio",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/same-http-downgrade.downgrade.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/same-http-downgrade.downgrade.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/same-http-downgrade.downgrade.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..3d8d86a
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-audio to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-audio",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/same-http-downgrade.no-redirect.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/same-http-downgrade.no-redirect.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/same-http-downgrade.no-redirect.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/same-https.downgrade.https.html
new file mode 100644
index 0000000..5d78867
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/same-https.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-audio to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-audio",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/same-https.downgrade.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/same-https.downgrade.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-audio/same-https.downgrade.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..cb0d12c
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-layout-import-data to cross-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-layout-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/cross-http-downgrade.downgrade.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/cross-http-downgrade.downgrade.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/cross-http-downgrade.downgrade.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..cddebab
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-layout-import-data to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-layout-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/cross-http-downgrade.no-redirect.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/cross-http-downgrade.no-redirect.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/cross-http-downgrade.no-redirect.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/cross-https.downgrade.https.html
new file mode 100644
index 0000000..e4bd2b688
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/cross-https.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-layout-import-data to cross-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-layout-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/cross-https.downgrade.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/cross-https.downgrade.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/cross-https.downgrade.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..34daf23
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-layout-import-data to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-layout-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/same-http-downgrade.downgrade.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/same-http-downgrade.downgrade.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/same-http-downgrade.downgrade.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..015697f
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-layout-import-data to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-layout-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/same-http-downgrade.no-redirect.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/same-http-downgrade.no-redirect.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/same-http-downgrade.no-redirect.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/same-https.downgrade.https.html
new file mode 100644
index 0000000..f7fca44
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/same-https.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-layout-import-data to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-layout-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/same-https.downgrade.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/same-https.downgrade.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout-import-data/same-https.downgrade.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..4361785
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-layout to cross-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-layout",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/cross-http-downgrade.downgrade.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/cross-http-downgrade.downgrade.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/cross-http-downgrade.downgrade.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..9c4a613
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-layout to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-layout",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/cross-http-downgrade.no-redirect.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/cross-http-downgrade.no-redirect.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/cross-http-downgrade.no-redirect.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/cross-https.downgrade.https.html
new file mode 100644
index 0000000..771fa29
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/cross-https.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-layout to cross-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-layout",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/cross-https.downgrade.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/cross-https.downgrade.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/cross-https.downgrade.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..6aa3f6295
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-layout to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-layout",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/same-http-downgrade.downgrade.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/same-http-downgrade.downgrade.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/same-http-downgrade.downgrade.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..8190133
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-layout to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-layout",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/same-http-downgrade.no-redirect.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/same-http-downgrade.no-redirect.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/same-http-downgrade.no-redirect.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/same-https.downgrade.https.html
new file mode 100644
index 0000000..3251746
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/same-https.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-layout to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-layout",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/same-https.downgrade.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/same-https.downgrade.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-layout/same-https.downgrade.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..d7c86b06
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-paint-import-data to cross-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-paint-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/cross-http-downgrade.downgrade.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/cross-http-downgrade.downgrade.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/cross-http-downgrade.downgrade.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..ca62ab7
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-paint-import-data to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-paint-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/cross-http-downgrade.no-redirect.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/cross-http-downgrade.no-redirect.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/cross-http-downgrade.no-redirect.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/cross-https.downgrade.https.html
new file mode 100644
index 0000000..d2378fc
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/cross-https.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-paint-import-data to cross-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-paint-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/cross-https.downgrade.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/cross-https.downgrade.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/cross-https.downgrade.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..74b9a4a5
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-paint-import-data to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-paint-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/same-http-downgrade.downgrade.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/same-http-downgrade.downgrade.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/same-http-downgrade.downgrade.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..d94776f
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-paint-import-data to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-paint-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/same-http-downgrade.no-redirect.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/same-http-downgrade.no-redirect.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/same-http-downgrade.no-redirect.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/same-https.downgrade.https.html
new file mode 100644
index 0000000..aa33297e
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/same-https.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-paint-import-data to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-paint-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/same-https.downgrade.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/same-https.downgrade.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint-import-data/same-https.downgrade.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..0619d47
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-paint to cross-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-paint",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/cross-http-downgrade.downgrade.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/cross-http-downgrade.downgrade.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/cross-http-downgrade.downgrade.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..a91c13c
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-paint to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-paint",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/cross-http-downgrade.no-redirect.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/cross-http-downgrade.no-redirect.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/cross-http-downgrade.no-redirect.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/cross-https.downgrade.https.html
new file mode 100644
index 0000000..a1d2892
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/cross-https.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-paint to cross-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-paint",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/cross-https.downgrade.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/cross-https.downgrade.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/cross-https.downgrade.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..56a8227d
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-paint to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-paint",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/same-http-downgrade.downgrade.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/same-http-downgrade.downgrade.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/same-http-downgrade.downgrade.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..6c551a5
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-paint to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-paint",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/same-http-downgrade.no-redirect.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/same-http-downgrade.no-redirect.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/same-http-downgrade.no-redirect.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/same-https.downgrade.https.html
new file mode 100644
index 0000000..41d1547
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/same-https.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-paint to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-paint",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/same-https.downgrade.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/same-https.downgrade.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/worklet-paint/same-https.downgrade.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..0278c5e
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for xhr to cross-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "xhr",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/cross-http-downgrade.downgrade.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/cross-http-downgrade.downgrade.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/cross-http-downgrade.downgrade.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..cdacbb0
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for xhr to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "xhr",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/cross-http-downgrade.no-redirect.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/cross-http-downgrade.no-redirect.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/cross-http-downgrade.no-redirect.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/cross-https.downgrade.https.html
new file mode 100644
index 0000000..711b035
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/cross-https.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for xhr to cross-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "xhr",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/cross-https.downgrade.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/cross-https.downgrade.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/cross-https.downgrade.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..c3f5fc8
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for xhr to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "xhr",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/same-http-downgrade.downgrade.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/same-http-downgrade.downgrade.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/same-http-downgrade.downgrade.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..234c639e
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for xhr to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "xhr",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/same-http-downgrade.no-redirect.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/same-http-downgrade.no-redirect.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/same-http-downgrade.no-redirect.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/same-https.downgrade.https.html
new file mode 100644
index 0000000..d926e881
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/same-https.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for xhr to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "xhr",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/same-https.downgrade.https.html.headers b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/same-https.downgrade.https.html.headers
new file mode 100644
index 0000000..602d9dc3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.http-rp/upgrade/xhr/same-https.downgrade.https.html.headers
@@ -0,0 +1 @@
+Content-Security-Policy: upgrade-insecure-requests
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/fetch/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/fetch/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..fca4a5a
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/fetch/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for fetch to cross-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "fetch",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/fetch/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/fetch/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..25294d3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/fetch/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for fetch to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "fetch",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/fetch/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/fetch/cross-https.downgrade.https.html
new file mode 100644
index 0000000..5e8853d
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/fetch/cross-https.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for fetch to cross-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "fetch",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/fetch/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/fetch/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..4518ced
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/fetch/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for fetch to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "fetch",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/fetch/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/fetch/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..2ad6b43
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/fetch/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for fetch to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "fetch",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/fetch/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/fetch/same-https.downgrade.https.html
new file mode 100644
index 0000000..6ed6f53
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/fetch/same-https.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for fetch to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "fetch",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/iframe-tag/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/iframe-tag/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..93dd9d9
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/iframe-tag/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for iframe-tag to cross-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "iframe-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/iframe-tag/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/iframe-tag/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..707c260e
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/iframe-tag/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for iframe-tag to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "iframe-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/iframe-tag/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/iframe-tag/cross-https.downgrade.https.html
new file mode 100644
index 0000000..49a3a0d
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/iframe-tag/cross-https.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for iframe-tag to cross-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "iframe-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/iframe-tag/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/iframe-tag/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..7b308e35
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/iframe-tag/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for iframe-tag to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "iframe-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/iframe-tag/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/iframe-tag/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..84afe5cf
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/iframe-tag/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for iframe-tag to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "iframe-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/iframe-tag/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/iframe-tag/same-https.downgrade.https.html
new file mode 100644
index 0000000..e00d307
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/iframe-tag/same-https.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for iframe-tag to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "iframe-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/img-tag/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/img-tag/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..8bcf542
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/img-tag/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for img-tag to cross-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "img-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/img-tag/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/img-tag/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..8ca7ccb65
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/img-tag/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for img-tag to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "img-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/img-tag/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/img-tag/cross-https.downgrade.https.html
new file mode 100644
index 0000000..caaefae
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/img-tag/cross-https.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for img-tag to cross-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "img-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/img-tag/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/img-tag/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..61aca5a
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/img-tag/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for img-tag to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "img-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/img-tag/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/img-tag/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..3288cbe
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/img-tag/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for img-tag to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "img-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/img-tag/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/img-tag/same-https.downgrade.https.html
new file mode 100644
index 0000000..3c0208cb
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/img-tag/same-https.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for img-tag to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "img-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/sharedworker-classic/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/sharedworker-classic/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..67ae9a77
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/sharedworker-classic/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for sharedworker-classic to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "sharedworker-classic",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/sharedworker-classic/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/sharedworker-classic/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..71ca833
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/sharedworker-classic/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for sharedworker-classic to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "sharedworker-classic",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/sharedworker-classic/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/sharedworker-classic/same-https.downgrade.https.html
new file mode 100644
index 0000000..88826a8d
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/sharedworker-classic/same-https.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for sharedworker-classic to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "sharedworker-classic",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/websocket/cross-ws-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/websocket/cross-ws-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..123bc13d
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/websocket/cross-ws-downgrade.no-redirect.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for websocket to cross-ws-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-ws-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "websocket",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/websocket/same-ws-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/websocket/same-ws-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..a5bc2c8
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/websocket/same-ws-downgrade.no-redirect.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for websocket to same-ws-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-ws-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "websocket",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worker-classic/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worker-classic/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..075e9d5
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worker-classic/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worker-classic to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worker-classic",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worker-classic/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worker-classic/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..bec65611
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worker-classic/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worker-classic to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worker-classic",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worker-classic/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worker-classic/same-https.downgrade.https.html
new file mode 100644
index 0000000..d9bb535
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worker-classic/same-https.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worker-classic to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worker-classic",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worker-import-data/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worker-import-data/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..bf16f45e
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worker-import-data/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worker-import-data to cross-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worker-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worker-import-data/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worker-import-data/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..23ad040
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worker-import-data/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worker-import-data to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worker-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worker-import-data/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worker-import-data/cross-https.downgrade.https.html
new file mode 100644
index 0000000..c10b93b
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worker-import-data/cross-https.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worker-import-data to cross-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worker-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worker-import-data/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worker-import-data/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..b40c22f
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worker-import-data/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worker-import-data to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worker-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worker-import-data/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worker-import-data/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..c13ca341
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worker-import-data/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worker-import-data to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worker-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worker-import-data/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worker-import-data/same-https.downgrade.https.html
new file mode 100644
index 0000000..e14ba51
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worker-import-data/same-https.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worker-import-data to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worker-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worker-module/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worker-module/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..3f31344
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worker-module/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worker-module to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worker-module",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worker-module/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worker-module/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..fe106b2
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worker-module/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worker-module to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worker-module",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worker-module/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worker-module/same-https.downgrade.https.html
new file mode 100644
index 0000000..0116fd81
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worker-module/same-https.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worker-module to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worker-module",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-animation-import-data/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-animation-import-data/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..41db74a
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-animation-import-data/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-animation-import-data to cross-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-animation-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-animation-import-data/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-animation-import-data/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..48d9592
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-animation-import-data/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-animation-import-data to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-animation-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-animation-import-data/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-animation-import-data/cross-https.downgrade.https.html
new file mode 100644
index 0000000..9d32ee1
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-animation-import-data/cross-https.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-animation-import-data to cross-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-animation-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-animation-import-data/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-animation-import-data/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..f16f22c
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-animation-import-data/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-animation-import-data to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-animation-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-animation-import-data/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-animation-import-data/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..9933d1d
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-animation-import-data/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-animation-import-data to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-animation-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-animation-import-data/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-animation-import-data/same-https.downgrade.https.html
new file mode 100644
index 0000000..0977204
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-animation-import-data/same-https.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-animation-import-data to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-animation-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-animation/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-animation/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..5da525d
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-animation/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-animation to cross-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-animation",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-animation/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-animation/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..3391cc8
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-animation/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-animation to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-animation",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-animation/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-animation/cross-https.downgrade.https.html
new file mode 100644
index 0000000..dedd217
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-animation/cross-https.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-animation to cross-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-animation",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-animation/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-animation/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..f07dad18
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-animation/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-animation to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-animation",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-animation/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-animation/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..61569fd8
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-animation/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-animation to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-animation",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-animation/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-animation/same-https.downgrade.https.html
new file mode 100644
index 0000000..ace49d0
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-animation/same-https.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-animation to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-animation",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-audio-import-data/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-audio-import-data/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..c266298
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-audio-import-data/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-audio-import-data to cross-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-audio-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-audio-import-data/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-audio-import-data/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..db6a1876
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-audio-import-data/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-audio-import-data to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-audio-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-audio-import-data/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-audio-import-data/cross-https.downgrade.https.html
new file mode 100644
index 0000000..1e1a8faf
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-audio-import-data/cross-https.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-audio-import-data to cross-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-audio-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-audio-import-data/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-audio-import-data/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..fec20a09
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-audio-import-data/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-audio-import-data to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-audio-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-audio-import-data/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-audio-import-data/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..aef2b52
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-audio-import-data/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-audio-import-data to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-audio-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-audio-import-data/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-audio-import-data/same-https.downgrade.https.html
new file mode 100644
index 0000000..d358584
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-audio-import-data/same-https.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-audio-import-data to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-audio-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-audio/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-audio/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..3a6e93df
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-audio/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-audio to cross-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-audio",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-audio/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-audio/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..47fd0a4
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-audio/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-audio to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-audio",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-audio/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-audio/cross-https.downgrade.https.html
new file mode 100644
index 0000000..67a22ed
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-audio/cross-https.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-audio to cross-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-audio",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-audio/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-audio/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..055606e
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-audio/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-audio to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-audio",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-audio/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-audio/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..34f1d798
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-audio/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-audio to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-audio",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-audio/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-audio/same-https.downgrade.https.html
new file mode 100644
index 0000000..23707ba63
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-audio/same-https.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-audio to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-audio",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-layout-import-data/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-layout-import-data/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..0b5cbe6f
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-layout-import-data/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-layout-import-data to cross-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-layout-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-layout-import-data/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-layout-import-data/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..7fa1f6e2
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-layout-import-data/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-layout-import-data to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-layout-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-layout-import-data/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-layout-import-data/cross-https.downgrade.https.html
new file mode 100644
index 0000000..40658ef
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-layout-import-data/cross-https.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-layout-import-data to cross-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-layout-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-layout-import-data/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-layout-import-data/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..5a666891
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-layout-import-data/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-layout-import-data to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-layout-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-layout-import-data/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-layout-import-data/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..4b15e55
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-layout-import-data/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-layout-import-data to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-layout-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-layout-import-data/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-layout-import-data/same-https.downgrade.https.html
new file mode 100644
index 0000000..ca8c71f
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-layout-import-data/same-https.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-layout-import-data to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-layout-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-layout/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-layout/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..6ee26e1
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-layout/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-layout to cross-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-layout",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-layout/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-layout/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..08ae852d
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-layout/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-layout to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-layout",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-layout/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-layout/cross-https.downgrade.https.html
new file mode 100644
index 0000000..669fadb
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-layout/cross-https.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-layout to cross-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-layout",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-layout/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-layout/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..751ff7e
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-layout/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-layout to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-layout",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-layout/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-layout/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..3867169
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-layout/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-layout to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-layout",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-layout/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-layout/same-https.downgrade.https.html
new file mode 100644
index 0000000..6986a78
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-layout/same-https.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-layout to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-layout",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-paint-import-data/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-paint-import-data/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..a29f620
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-paint-import-data/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-paint-import-data to cross-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-paint-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-paint-import-data/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-paint-import-data/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..93383d5b
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-paint-import-data/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-paint-import-data to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-paint-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-paint-import-data/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-paint-import-data/cross-https.downgrade.https.html
new file mode 100644
index 0000000..346bb6b
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-paint-import-data/cross-https.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-paint-import-data to cross-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-paint-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-paint-import-data/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-paint-import-data/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..869fc00
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-paint-import-data/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-paint-import-data to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-paint-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-paint-import-data/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-paint-import-data/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..542c183
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-paint-import-data/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-paint-import-data to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-paint-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-paint-import-data/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-paint-import-data/same-https.downgrade.https.html
new file mode 100644
index 0000000..eba63c36
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-paint-import-data/same-https.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-paint-import-data to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-paint-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-paint/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-paint/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..1dc5f08
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-paint/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-paint to cross-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-paint",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-paint/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-paint/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..01a84d6
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-paint/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-paint to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-paint",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-paint/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-paint/cross-https.downgrade.https.html
new file mode 100644
index 0000000..8589ff6b
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-paint/cross-https.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-paint to cross-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-paint",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-paint/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-paint/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..30314fc
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-paint/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-paint to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-paint",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-paint/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-paint/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..daa420b3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-paint/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-paint to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-paint",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-paint/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-paint/same-https.downgrade.https.html
new file mode 100644
index 0000000..383f42ed
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/worklet-paint/same-https.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for worklet-paint to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-paint",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/xhr/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/xhr/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..beae338
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/xhr/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for xhr to cross-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "xhr",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/xhr/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/xhr/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..685ebe4
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/xhr/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for xhr to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "xhr",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/xhr/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/xhr/cross-https.downgrade.https.html
new file mode 100644
index 0000000..4bbfd757
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/xhr/cross-https.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for xhr to cross-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "xhr",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/xhr/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/xhr/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..cb5cc3a4
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/xhr/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for xhr to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "xhr",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/xhr/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/xhr/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..a5325b3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/xhr/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for xhr to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "xhr",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/xhr/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/xhr/same-https.downgrade.https.html
new file mode 100644
index 0000000..cfe8614
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/unset/xhr/same-https.downgrade.https.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for xhr to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "xhr",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/fetch/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/fetch/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..f9750e1
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/fetch/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for fetch to cross-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "fetch",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/fetch/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/fetch/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..3b08b72
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/fetch/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for fetch to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "fetch",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/fetch/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/fetch/cross-https.downgrade.https.html
new file mode 100644
index 0000000..8d0a80a
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/fetch/cross-https.downgrade.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for fetch to cross-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "fetch",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/fetch/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/fetch/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..d5ebb85
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/fetch/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for fetch to same-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "fetch",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/fetch/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/fetch/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..5d6d8f5
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/fetch/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for fetch to same-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "fetch",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/fetch/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/fetch/same-https.downgrade.https.html
new file mode 100644
index 0000000..63b5c8c
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/fetch/same-https.downgrade.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for fetch to same-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "fetch",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/iframe-tag/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/iframe-tag/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..09be764
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/iframe-tag/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for iframe-tag to cross-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "iframe-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/iframe-tag/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/iframe-tag/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..e86f753
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/iframe-tag/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for iframe-tag to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "iframe-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/iframe-tag/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/iframe-tag/cross-https.downgrade.https.html
new file mode 100644
index 0000000..4f2e231
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/iframe-tag/cross-https.downgrade.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for iframe-tag to cross-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "iframe-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/iframe-tag/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/iframe-tag/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..86958e9
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/iframe-tag/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for iframe-tag to same-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "iframe-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/iframe-tag/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/iframe-tag/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..70507d3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/iframe-tag/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for iframe-tag to same-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "iframe-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/iframe-tag/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/iframe-tag/same-https.downgrade.https.html
new file mode 100644
index 0000000..71764a1
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/iframe-tag/same-https.downgrade.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for iframe-tag to same-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "iframe-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/img-tag/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/img-tag/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..c0c141a
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/img-tag/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for img-tag to cross-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "img-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/img-tag/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/img-tag/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..baef52d
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/img-tag/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for img-tag to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "img-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/img-tag/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/img-tag/cross-https.downgrade.https.html
new file mode 100644
index 0000000..25f2948
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/img-tag/cross-https.downgrade.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for img-tag to cross-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "img-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/img-tag/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/img-tag/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..ab64980
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/img-tag/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for img-tag to same-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "img-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/img-tag/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/img-tag/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..066d34c
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/img-tag/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for img-tag to same-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "img-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/img-tag/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/img-tag/same-https.downgrade.https.html
new file mode 100644
index 0000000..073a0ae8
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/img-tag/same-https.downgrade.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for img-tag to same-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "img-tag",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/sharedworker-classic/same-http-downgrade.downgrade.https-expected.txt b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/sharedworker-classic/same-http-downgrade.downgrade.https-expected.txt
new file mode 100644
index 0000000..cded8b5
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/sharedworker-classic/same-http-downgrade.downgrade.https-expected.txt
@@ -0,0 +1,4 @@
+This is a testharness.js-based test.
+FAIL Upgrade-Insecure-Requests: Expects allowed for sharedworker-classic to same-http-downgrade origin and downgrade redirection from https context. assert_equals: The resource request should be 'allowed'. expected "allowed" but got "blocked"
+Harness: the test ran to completion.
+
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/sharedworker-classic/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/sharedworker-classic/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..00cd0d4
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/sharedworker-classic/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for sharedworker-classic to same-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "sharedworker-classic",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/sharedworker-classic/same-http-downgrade.no-redirect.https-expected.txt b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/sharedworker-classic/same-http-downgrade.no-redirect.https-expected.txt
new file mode 100644
index 0000000..b199516
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/sharedworker-classic/same-http-downgrade.no-redirect.https-expected.txt
@@ -0,0 +1,4 @@
+This is a testharness.js-based test.
+FAIL Upgrade-Insecure-Requests: Expects allowed for sharedworker-classic to same-http-downgrade origin and no-redirect redirection from https context. assert_equals: The resource request should be 'allowed'. expected "allowed" but got "blocked"
+Harness: the test ran to completion.
+
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/sharedworker-classic/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/sharedworker-classic/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..5d0e23e
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/sharedworker-classic/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for sharedworker-classic to same-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "sharedworker-classic",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/sharedworker-classic/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/sharedworker-classic/same-https.downgrade.https.html
new file mode 100644
index 0000000..08bf866
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/sharedworker-classic/same-https.downgrade.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for sharedworker-classic to same-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "sharedworker-classic",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/websocket/cross-ws-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/websocket/cross-ws-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..8858a09
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/websocket/cross-ws-downgrade.no-redirect.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for websocket to cross-ws-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-ws-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "websocket",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/websocket/same-ws-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/websocket/same-ws-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..dfebfd1
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/websocket/same-ws-downgrade.no-redirect.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for websocket to same-ws-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-ws-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "websocket",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worker-classic/same-http-downgrade.downgrade.https-expected.txt b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worker-classic/same-http-downgrade.downgrade.https-expected.txt
new file mode 100644
index 0000000..87009a4
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worker-classic/same-http-downgrade.downgrade.https-expected.txt
@@ -0,0 +1,4 @@
+This is a testharness.js-based test.
+FAIL Upgrade-Insecure-Requests: Expects allowed for worker-classic to same-http-downgrade origin and downgrade redirection from https context. assert_equals: The resource request should be 'allowed'. expected "allowed" but got "blocked"
+Harness: the test ran to completion.
+
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worker-classic/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worker-classic/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..344837e
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worker-classic/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worker-classic to same-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worker-classic",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worker-classic/same-http-downgrade.no-redirect.https-expected.txt b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worker-classic/same-http-downgrade.no-redirect.https-expected.txt
new file mode 100644
index 0000000..643d31a
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worker-classic/same-http-downgrade.no-redirect.https-expected.txt
@@ -0,0 +1,4 @@
+This is a testharness.js-based test.
+FAIL Upgrade-Insecure-Requests: Expects allowed for worker-classic to same-http-downgrade origin and no-redirect redirection from https context. assert_equals: The resource request should be 'allowed'. expected "allowed" but got "blocked"
+Harness: the test ran to completion.
+
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worker-classic/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worker-classic/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..cf36e01
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worker-classic/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worker-classic to same-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worker-classic",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worker-classic/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worker-classic/same-https.downgrade.https.html
new file mode 100644
index 0000000..7b863f6
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worker-classic/same-https.downgrade.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worker-classic to same-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worker-classic",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worker-import-data/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worker-import-data/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..52c92774
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worker-import-data/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worker-import-data to cross-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worker-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worker-import-data/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worker-import-data/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..81a16de
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worker-import-data/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worker-import-data to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worker-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worker-import-data/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worker-import-data/cross-https.downgrade.https.html
new file mode 100644
index 0000000..94ffe6c
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worker-import-data/cross-https.downgrade.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worker-import-data to cross-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worker-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worker-import-data/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worker-import-data/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..c83cb3a
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worker-import-data/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worker-import-data to same-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worker-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worker-import-data/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worker-import-data/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..26eb205
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worker-import-data/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worker-import-data to same-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worker-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worker-import-data/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worker-import-data/same-https.downgrade.https.html
new file mode 100644
index 0000000..18316c62
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worker-import-data/same-https.downgrade.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worker-import-data to same-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worker-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worker-module/same-http-downgrade.downgrade.https-expected.txt b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worker-module/same-http-downgrade.downgrade.https-expected.txt
new file mode 100644
index 0000000..182f777
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worker-module/same-http-downgrade.downgrade.https-expected.txt
@@ -0,0 +1,4 @@
+This is a testharness.js-based test.
+FAIL Upgrade-Insecure-Requests: Expects allowed for worker-module to same-http-downgrade origin and downgrade redirection from https context. assert_equals: The resource request should be 'allowed'. expected "allowed" but got "blocked"
+Harness: the test ran to completion.
+
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worker-module/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worker-module/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..e86ab02
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worker-module/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worker-module to same-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worker-module",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worker-module/same-http-downgrade.no-redirect.https-expected.txt b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worker-module/same-http-downgrade.no-redirect.https-expected.txt
new file mode 100644
index 0000000..e7c151b
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worker-module/same-http-downgrade.no-redirect.https-expected.txt
@@ -0,0 +1,4 @@
+This is a testharness.js-based test.
+FAIL Upgrade-Insecure-Requests: Expects allowed for worker-module to same-http-downgrade origin and no-redirect redirection from https context. assert_equals: The resource request should be 'allowed'. expected "allowed" but got "blocked"
+Harness: the test ran to completion.
+
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worker-module/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worker-module/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..d671b9d4
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worker-module/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worker-module to same-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worker-module",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worker-module/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worker-module/same-https.downgrade.https.html
new file mode 100644
index 0000000..74414280
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worker-module/same-https.downgrade.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worker-module to same-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worker-module",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation-import-data/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation-import-data/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..b81d616
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation-import-data/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-animation-import-data to cross-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-animation-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation-import-data/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation-import-data/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..e24be56b
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation-import-data/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-animation-import-data to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-animation-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation-import-data/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation-import-data/cross-https.downgrade.https.html
new file mode 100644
index 0000000..5783bb8
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation-import-data/cross-https.downgrade.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-animation-import-data to cross-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-animation-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation-import-data/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation-import-data/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..fad7c7c
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation-import-data/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-animation-import-data to same-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-animation-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation-import-data/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation-import-data/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..fb7fa4d
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation-import-data/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-animation-import-data to same-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-animation-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation-import-data/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation-import-data/same-https.downgrade.https.html
new file mode 100644
index 0000000..6c340d99d
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation-import-data/same-https.downgrade.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-animation-import-data to same-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-animation-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..e01c62a
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-animation to cross-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-animation",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..3550747
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-animation to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-animation",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation/cross-https.downgrade.https.html
new file mode 100644
index 0000000..ca0d0e6
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation/cross-https.downgrade.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-animation to cross-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-animation",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..49557f2
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-animation to same-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-animation",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..3fd3641
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-animation to same-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-animation",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation/same-https.downgrade.https.html
new file mode 100644
index 0000000..02b1038c
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-animation/same-https.downgrade.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-animation to same-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-animation",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio-import-data/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio-import-data/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..8c17faf
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio-import-data/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-audio-import-data to cross-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-audio-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio-import-data/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio-import-data/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..415ca3d7
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio-import-data/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-audio-import-data to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-audio-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio-import-data/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio-import-data/cross-https.downgrade.https.html
new file mode 100644
index 0000000..d36faeb
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio-import-data/cross-https.downgrade.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-audio-import-data to cross-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-audio-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio-import-data/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio-import-data/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..329b41e
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio-import-data/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-audio-import-data to same-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-audio-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio-import-data/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio-import-data/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..09f9a35
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio-import-data/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-audio-import-data to same-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-audio-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio-import-data/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio-import-data/same-https.downgrade.https.html
new file mode 100644
index 0000000..5face3b0
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio-import-data/same-https.downgrade.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-audio-import-data to same-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-audio-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..5ca6b71
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-audio to cross-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-audio",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..9addf82a
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-audio to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-audio",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio/cross-https.downgrade.https.html
new file mode 100644
index 0000000..00228ef7
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio/cross-https.downgrade.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-audio to cross-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-audio",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..000ce5e3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-audio to same-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-audio",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..5216ccb
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-audio to same-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-audio",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio/same-https.downgrade.https.html
new file mode 100644
index 0000000..464b8d5
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-audio/same-https.downgrade.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-audio to same-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-audio",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout-import-data/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout-import-data/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..369e519
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout-import-data/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-layout-import-data to cross-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-layout-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout-import-data/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout-import-data/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..cb97e53
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout-import-data/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-layout-import-data to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-layout-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout-import-data/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout-import-data/cross-https.downgrade.https.html
new file mode 100644
index 0000000..d7706cc
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout-import-data/cross-https.downgrade.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-layout-import-data to cross-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-layout-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout-import-data/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout-import-data/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..7b49006
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout-import-data/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-layout-import-data to same-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-layout-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout-import-data/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout-import-data/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..18995bd
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout-import-data/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-layout-import-data to same-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-layout-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout-import-data/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout-import-data/same-https.downgrade.https.html
new file mode 100644
index 0000000..6b8c53a
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout-import-data/same-https.downgrade.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-layout-import-data to same-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-layout-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..8acdd3c
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-layout to cross-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-layout",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..26167e1
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-layout to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-layout",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout/cross-https.downgrade.https.html
new file mode 100644
index 0000000..13ef09cb
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout/cross-https.downgrade.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-layout to cross-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-layout",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..cc56f51
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-layout to same-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-layout",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..7b622c2
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-layout to same-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-layout",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout/same-https.downgrade.https.html
new file mode 100644
index 0000000..2ce3df1
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-layout/same-https.downgrade.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-layout to same-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-layout",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint-import-data/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint-import-data/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..7516c16
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint-import-data/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-paint-import-data to cross-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-paint-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint-import-data/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint-import-data/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..404386e5
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint-import-data/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-paint-import-data to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-paint-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint-import-data/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint-import-data/cross-https.downgrade.https.html
new file mode 100644
index 0000000..53b77d6
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint-import-data/cross-https.downgrade.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-paint-import-data to cross-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-paint-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint-import-data/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint-import-data/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..69d4741f
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint-import-data/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-paint-import-data to same-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-paint-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint-import-data/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint-import-data/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..9a1585d
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint-import-data/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-paint-import-data to same-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-paint-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint-import-data/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint-import-data/same-https.downgrade.https.html
new file mode 100644
index 0000000..da6197f
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint-import-data/same-https.downgrade.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-paint-import-data to same-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-paint-import-data",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..ab1c859
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-paint to cross-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-paint",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..937aaaa8
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-paint to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-paint",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint/cross-https.downgrade.https.html
new file mode 100644
index 0000000..99e1072
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint/cross-https.downgrade.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-paint to cross-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-paint",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..1d152f6
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-paint to same-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-paint",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..d6babfe
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-paint to same-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-paint",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint/same-https.downgrade.https.html
new file mode 100644
index 0000000..a0c28b07
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/worklet-paint/same-https.downgrade.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for worklet-paint to same-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "worklet-paint",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/xhr/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/xhr/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..9c7776e6
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/xhr/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for xhr to cross-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "xhr",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/xhr/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/xhr/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..8300d8f
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/xhr/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for xhr to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "xhr",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/xhr/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/xhr/cross-https.downgrade.https.html
new file mode 100644
index 0000000..96e7c41d
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/xhr/cross-https.downgrade.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for xhr to cross-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "xhr",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/xhr/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/xhr/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..146599f5
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/xhr/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for xhr to same-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "xhr",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/xhr/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/xhr/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..eb6c568
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/xhr/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for xhr to same-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "xhr",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/xhr/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/xhr/same-https.downgrade.https.html
new file mode 100644
index 0000000..2fe37db
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/top.meta/upgrade/xhr/same-https.downgrade.https.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for xhr to same-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [],
+          "source_scheme": "https",
+          "subresource": "xhr",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/unset/fetch/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/unset/fetch/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..e24fc08
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/unset/fetch/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for fetch to cross-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "worker-classic-data"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "fetch",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/unset/fetch/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/unset/fetch/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..b065f13
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/unset/fetch/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for fetch to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "worker-classic-data"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "fetch",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/unset/fetch/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/unset/fetch/cross-https.downgrade.https.html
new file mode 100644
index 0000000..6ef001b
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/unset/fetch/cross-https.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for fetch to cross-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "worker-classic-data"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "fetch",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/unset/fetch/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/unset/fetch/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..c236aa3
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/unset/fetch/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for fetch to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "worker-classic-data"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "fetch",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/unset/fetch/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/unset/fetch/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..ba07fe78
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/unset/fetch/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for fetch to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "worker-classic-data"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "fetch",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/unset/fetch/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/unset/fetch/same-https.downgrade.https.html
new file mode 100644
index 0000000..04fb348c
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/unset/fetch/same-https.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for fetch to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "worker-classic-data"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "fetch",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/unset/websocket/cross-ws-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/unset/websocket/cross-ws-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..85b2a842
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/unset/websocket/cross-ws-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for websocket to cross-ws-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-ws-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "worker-classic-data"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "websocket",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/unset/websocket/same-ws-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/unset/websocket/same-ws-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..47a6635e
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/unset/websocket/same-ws-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for websocket to same-ws-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-ws-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "worker-classic-data"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "websocket",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/unset/xhr/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/unset/xhr/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..53c56a1f
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/unset/xhr/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for xhr to cross-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "worker-classic-data"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "xhr",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/unset/xhr/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/unset/xhr/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..b4b9b6f
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/unset/xhr/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for xhr to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "worker-classic-data"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "xhr",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/unset/xhr/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/unset/xhr/cross-https.downgrade.https.html
new file mode 100644
index 0000000..4a92b5e
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/unset/xhr/cross-https.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for xhr to cross-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "worker-classic-data"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "xhr",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/unset/xhr/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/unset/xhr/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..0bb47da
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/unset/xhr/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for xhr to same-http-downgrade origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "worker-classic-data"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "xhr",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/unset/xhr/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/unset/xhr/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..4a7ea8a
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/unset/xhr/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for xhr to same-http-downgrade origin and no-redirect redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "worker-classic-data"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "xhr",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/unset/xhr/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/unset/xhr/same-https.downgrade.https.html
new file mode 100644
index 0000000..67d232b6
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/unset/xhr/same-https.downgrade.https.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="No upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects blocked for xhr to same-https origin and downgrade redirection from https context.">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "blocked",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "worker-classic-data"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "xhr",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/fetch/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/fetch/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..30a0959
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/fetch/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for fetch to cross-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "worker-classic-data"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "fetch",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/fetch/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/fetch/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..c726a18
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/fetch/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for fetch to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "worker-classic-data"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "fetch",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/fetch/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/fetch/cross-https.downgrade.https.html
new file mode 100644
index 0000000..8d273ac
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/fetch/cross-https.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for fetch to cross-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "worker-classic-data"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "fetch",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/fetch/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/fetch/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..8c50860
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/fetch/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for fetch to same-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "worker-classic-data"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "fetch",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/fetch/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/fetch/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..364e95b
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/fetch/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for fetch to same-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "worker-classic-data"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "fetch",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/fetch/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/fetch/same-https.downgrade.https.html
new file mode 100644
index 0000000..f07d94d
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/fetch/same-https.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for fetch to same-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "worker-classic-data"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "fetch",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/websocket/cross-ws-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/websocket/cross-ws-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..fa6232d
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/websocket/cross-ws-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for websocket to cross-ws-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-ws-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "worker-classic-data"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "websocket",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/websocket/same-ws-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/websocket/same-ws-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..2da66439
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/websocket/same-ws-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for websocket to same-ws-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-ws-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "worker-classic-data"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "websocket",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/xhr/cross-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/xhr/cross-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..46518de
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/xhr/cross-http-downgrade.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for xhr to cross-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "worker-classic-data"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "xhr",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/xhr/cross-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/xhr/cross-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..3e8fe26
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/xhr/cross-http-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for xhr to cross-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "worker-classic-data"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "xhr",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/xhr/cross-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/xhr/cross-https.downgrade.https.html
new file mode 100644
index 0000000..4c2853f
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/xhr/cross-https.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for xhr to cross-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "cross-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "worker-classic-data"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "xhr",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/xhr/same-http-downgrade.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/xhr/same-http-downgrade.downgrade.https.html
new file mode 100644
index 0000000..e3dbf9f
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/xhr/same-http-downgrade.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for xhr to same-http-downgrade origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "worker-classic-data"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "xhr",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/xhr/same-http-downgrade.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/xhr/same-http-downgrade.no-redirect.https.html
new file mode 100644
index 0000000..002ed40
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/xhr/same-http-downgrade.no-redirect.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for xhr to same-http-downgrade origin and no-redirect redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-http-downgrade",
+          "redirection": "no-redirect",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "worker-classic-data"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "xhr",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/xhr/same-https.downgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/xhr/same-https.downgrade.https.html
new file mode 100644
index 0000000..43c8dcf
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/xhr/same-https.downgrade.https.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<html>
+  <head>
+    <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
+    <meta charset='utf-8'>
+    <meta name="description" content="With upgrade-insecure-request">
+    <link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
+    <link rel="help" href="https://w3c.github.io/webappsec-upgrade-insecure-requests/">
+    <meta name="assert" content="Upgrade-Insecure-Requests: Expects allowed for xhr to same-https origin and downgrade redirection from https context.">
+    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/security-features/resources/common.sub.js"></script>
+    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+  </head>
+  <body>
+    <script>
+      TestCase(
+        {
+          "expectation": "allowed",
+          "origin": "same-https",
+          "redirection": "downgrade",
+          "source_context_list": [
+            {
+              "policyDeliveries": [],
+              "sourceContextType": "worker-classic-data"
+            }
+          ],
+          "source_scheme": "https",
+          "subresource": "xhr",
+          "subresource_policy_deliveries": []
+        },
+        document.querySelector("meta[name=assert]").content,
+        new SanityChecker()
+      ).start();
+      </script>
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/iframe-redirect-upgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/iframe-redirect-upgrade.https.html
deleted file mode 100644
index 7d0a310..0000000
--- a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/iframe-redirect-upgrade.https.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<!-- Generated by wpt/upgrade-insecure-requests/support/generate.py -->
-<title>Upgrade Insecure Requests: iframe.</title>
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script src="./support/testharness-helper.sub.js"></script>
-<script src="/common/security-features/resources/common.sub.js"></script>
-
-<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
-</head>
-<body>
-<script>
-const tests = generateRedirectTests(ResourceType.FRAME, false);
-tests.forEach(test => testMap['iframe'](test));
-</script>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/iframe-upgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/iframe-upgrade.https.html
deleted file mode 100644
index d9ba69e..0000000
--- a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/iframe-upgrade.https.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<!-- Generated by wpt/upgrade-insecure-requests/support/generate.py -->
-<title>Upgrade Insecure Requests: iframe.</title>
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script src="./support/testharness-helper.sub.js"></script>
-<script src="/common/security-features/resources/common.sub.js"></script>
-
-<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
-</head>
-<body>
-<script>
-const tests = generateTests(ResourceType.FRAME, false);
-tests.forEach(test => testMap['iframe'](test));
-</script>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/image-redirect-upgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/image-redirect-upgrade.https.html
deleted file mode 100644
index d72b621..0000000
--- a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/image-redirect-upgrade.https.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<!-- Generated by wpt/upgrade-insecure-requests/support/generate.py -->
-<title>Upgrade Insecure Requests: image.</title>
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script src="./support/testharness-helper.sub.js"></script>
-<script src="/common/security-features/resources/common.sub.js"></script>
-
-<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
-</head>
-<body>
-<script>
-const tests = generateRedirectTests(ResourceType.IMAGE, false);
-tests.forEach(test => testMap['image'](test));
-</script>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/image-upgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/image-upgrade.https.html
deleted file mode 100644
index 75d4b599..0000000
--- a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/image-upgrade.https.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<!-- Generated by wpt/upgrade-insecure-requests/support/generate.py -->
-<title>Upgrade Insecure Requests: image.</title>
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script src="./support/testharness-helper.sub.js"></script>
-<script src="/common/security-features/resources/common.sub.js"></script>
-
-<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
-</head>
-<body>
-<script>
-const tests = generateTests(ResourceType.IMAGE, false);
-tests.forEach(test => testMap['image'](test));
-</script>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/layout-worklet-import-upgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/layout-worklet-import-upgrade.https.html
deleted file mode 100644
index 9d97377e..0000000
--- a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/layout-worklet-import-upgrade.https.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<!-- Generated by wpt/upgrade-insecure-requests/support/generate.py -->
-<title>Upgrade Insecure Requests: layout-worklet.</title>
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script src="./support/testharness-helper.sub.js"></script>
-<script src="/common/security-features/resources/common.sub.js"></script>
-
-<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
-</head>
-<body>
-<script>
-const tests = generateModuleImportTests(ResourceType.WORKLET, false);
-tests.forEach(test => testMap['layout-worklet'](test));
-</script>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/layout-worklet-redirect-upgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/layout-worklet-redirect-upgrade.https.html
deleted file mode 100644
index dca6abc..0000000
--- a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/layout-worklet-redirect-upgrade.https.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<!-- Generated by wpt/upgrade-insecure-requests/support/generate.py -->
-<title>Upgrade Insecure Requests: layout-worklet.</title>
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script src="./support/testharness-helper.sub.js"></script>
-<script src="/common/security-features/resources/common.sub.js"></script>
-
-<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
-</head>
-<body>
-<script>
-const tests = generateRedirectTests(ResourceType.WORKLET, false);
-tests.forEach(test => testMap['layout-worklet'](test));
-</script>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/layout-worklet-upgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/layout-worklet-upgrade.https.html
deleted file mode 100644
index 876bf84..0000000
--- a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/layout-worklet-upgrade.https.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<!-- Generated by wpt/upgrade-insecure-requests/support/generate.py -->
-<title>Upgrade Insecure Requests: layout-worklet.</title>
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script src="./support/testharness-helper.sub.js"></script>
-<script src="/common/security-features/resources/common.sub.js"></script>
-
-<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
-</head>
-<body>
-<script>
-const tests = generateTests(ResourceType.WORKLET, false);
-tests.forEach(test => testMap['layout-worklet'](test));
-</script>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/module-worker-import-upgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/module-worker-import-upgrade.https.html
deleted file mode 100644
index ef103ab..0000000
--- a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/module-worker-import-upgrade.https.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<!-- Generated by wpt/upgrade-insecure-requests/support/generate.py -->
-<title>Upgrade Insecure Requests: module-worker.</title>
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script src="./support/testharness-helper.sub.js"></script>
-<script src="/common/security-features/resources/common.sub.js"></script>
-
-<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
-</head>
-<body>
-<script>
-const tests = generateModuleImportTests(ResourceType.WORKER, true);
-tests.forEach(test => testMap['module-worker'](test));
-</script>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/module-worker-redirect-upgrade.https-expected.txt b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/module-worker-redirect-upgrade.https-expected.txt
deleted file mode 100644
index bc6f2cd3..0000000
--- a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/module-worker-redirect-upgrade.https-expected.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-This is a testharness.js-based test.
-PASS secure/same-origin => secure/same-origin worker
-FAIL insecure/same-origin => secure/same-origin worker promise_test: Unhandled rejection with value: object "SecurityError: Failed to construct 'Worker': Script at 'http://web-platform.test:8444/upgrade-insecure-requests/support/redirect-cors.py?location=https%3A%2F%2Fweb-platform.test%3A8444%2Fcommon%2Fsecurity-features%2Fsubresource%2Fworker.py' cannot be accessed from origin 'https://web-platform.test:8444'."
-PASS secure/same-origin => insecure/same-origin worker
-FAIL insecure/same-origin => insecure/same-origin worker promise_test: Unhandled rejection with value: object "SecurityError: Failed to construct 'Worker': Script at 'http://web-platform.test:8444/upgrade-insecure-requests/support/redirect-cors.py?location=http%3A%2F%2Fweb-platform.test%3A8444%2Fcommon%2Fsecurity-features%2Fsubresource%2Fworker.py' cannot be accessed from origin 'https://web-platform.test:8444'."
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/module-worker-redirect-upgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/module-worker-redirect-upgrade.https.html
deleted file mode 100644
index 216f2026..0000000
--- a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/module-worker-redirect-upgrade.https.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<!-- Generated by wpt/upgrade-insecure-requests/support/generate.py -->
-<title>Upgrade Insecure Requests: module-worker.</title>
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script src="./support/testharness-helper.sub.js"></script>
-<script src="/common/security-features/resources/common.sub.js"></script>
-
-<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
-</head>
-<body>
-<script>
-const tests = generateRedirectTests(ResourceType.WORKER, true);
-tests.forEach(test => testMap['module-worker'](test));
-</script>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/module-worker-upgrade.https-expected.txt b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/module-worker-upgrade.https-expected.txt
deleted file mode 100644
index 8195596..0000000
--- a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/module-worker-upgrade.https-expected.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-This is a testharness.js-based test.
-PASS secure/same-origin worker
-FAIL insecure/same-origin worker promise_test: Unhandled rejection with value: object "SecurityError: Failed to construct 'Worker': Script at 'http://web-platform.test:8444/common/security-features/subresource/worker.py' cannot be accessed from origin 'https://web-platform.test:8444'."
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/module-worker-upgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/module-worker-upgrade.https.html
deleted file mode 100644
index e81fd10..0000000
--- a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/module-worker-upgrade.https.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<!-- Generated by wpt/upgrade-insecure-requests/support/generate.py -->
-<title>Upgrade Insecure Requests: module-worker.</title>
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script src="./support/testharness-helper.sub.js"></script>
-<script src="/common/security-features/resources/common.sub.js"></script>
-
-<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
-</head>
-<body>
-<script>
-const tests = generateTests(ResourceType.WORKER, true);
-tests.forEach(test => testMap['module-worker'](test));
-</script>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/paint-worklet-import-upgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/paint-worklet-import-upgrade.https.html
deleted file mode 100644
index eda2f28..0000000
--- a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/paint-worklet-import-upgrade.https.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<!-- Generated by wpt/upgrade-insecure-requests/support/generate.py -->
-<title>Upgrade Insecure Requests: paint-worklet.</title>
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script src="./support/testharness-helper.sub.js"></script>
-<script src="/common/security-features/resources/common.sub.js"></script>
-
-<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
-</head>
-<body>
-<script>
-const tests = generateModuleImportTests(ResourceType.WORKLET, false);
-tests.forEach(test => testMap['paint-worklet'](test));
-</script>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/paint-worklet-redirect-upgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/paint-worklet-redirect-upgrade.https.html
deleted file mode 100644
index b6da978..0000000
--- a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/paint-worklet-redirect-upgrade.https.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<!-- Generated by wpt/upgrade-insecure-requests/support/generate.py -->
-<title>Upgrade Insecure Requests: paint-worklet.</title>
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script src="./support/testharness-helper.sub.js"></script>
-<script src="/common/security-features/resources/common.sub.js"></script>
-
-<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
-</head>
-<body>
-<script>
-const tests = generateRedirectTests(ResourceType.WORKLET, false);
-tests.forEach(test => testMap['paint-worklet'](test));
-</script>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/paint-worklet-upgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/paint-worklet-upgrade.https.html
deleted file mode 100644
index 98bdd0e4..0000000
--- a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/paint-worklet-upgrade.https.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<!-- Generated by wpt/upgrade-insecure-requests/support/generate.py -->
-<title>Upgrade Insecure Requests: paint-worklet.</title>
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script src="./support/testharness-helper.sub.js"></script>
-<script src="/common/security-features/resources/common.sub.js"></script>
-
-<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
-</head>
-<body>
-<script>
-const tests = generateTests(ResourceType.WORKLET, false);
-tests.forEach(test => testMap['paint-worklet'](test));
-</script>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/shared-worker-redirect-upgrade.https-expected.txt b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/shared-worker-redirect-upgrade.https-expected.txt
deleted file mode 100644
index 4942237..0000000
--- a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/shared-worker-redirect-upgrade.https-expected.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-This is a testharness.js-based test.
-PASS secure/same-origin => secure/same-origin shared-worker
-FAIL insecure/same-origin => secure/same-origin shared-worker promise_test: Unhandled rejection with value: object "SecurityError: Failed to construct 'SharedWorker': Script at 'http://web-platform.test:8444/upgrade-insecure-requests/support/redirect-cors.py?location=https%3A%2F%2Fweb-platform.test%3A8444%2Fcommon%2Fsecurity-features%2Fsubresource%2Fshared-worker.py' cannot be accessed from origin 'https://web-platform.test:8444'."
-PASS secure/same-origin => insecure/same-origin shared-worker
-FAIL insecure/same-origin => insecure/same-origin shared-worker promise_test: Unhandled rejection with value: object "SecurityError: Failed to construct 'SharedWorker': Script at 'http://web-platform.test:8444/upgrade-insecure-requests/support/redirect-cors.py?location=http%3A%2F%2Fweb-platform.test%3A8444%2Fcommon%2Fsecurity-features%2Fsubresource%2Fshared-worker.py' cannot be accessed from origin 'https://web-platform.test:8444'."
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/shared-worker-redirect-upgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/shared-worker-redirect-upgrade.https.html
deleted file mode 100644
index 28fea03..0000000
--- a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/shared-worker-redirect-upgrade.https.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<!-- Generated by wpt/upgrade-insecure-requests/support/generate.py -->
-<title>Upgrade Insecure Requests: shared-worker.</title>
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script src="./support/testharness-helper.sub.js"></script>
-<script src="/common/security-features/resources/common.sub.js"></script>
-
-<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
-</head>
-<body>
-<script>
-const tests = generateRedirectTests(ResourceType.SHARED_WORKER, true);
-tests.forEach(test => testMap['shared-worker'](test));
-</script>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/shared-worker-upgrade.https-expected.txt b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/shared-worker-upgrade.https-expected.txt
deleted file mode 100644
index 453ab343..0000000
--- a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/shared-worker-upgrade.https-expected.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-This is a testharness.js-based test.
-PASS secure/same-origin shared-worker
-FAIL insecure/same-origin shared-worker promise_test: Unhandled rejection with value: object "SecurityError: Failed to construct 'SharedWorker': Script at 'http://web-platform.test:8444/common/security-features/subresource/shared-worker.py' cannot be accessed from origin 'https://web-platform.test:8444'."
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/shared-worker-upgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/shared-worker-upgrade.https.html
deleted file mode 100644
index cf1d3c3..0000000
--- a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/shared-worker-upgrade.https.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<!-- Generated by wpt/upgrade-insecure-requests/support/generate.py -->
-<title>Upgrade Insecure Requests: shared-worker.</title>
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script src="./support/testharness-helper.sub.js"></script>
-<script src="/common/security-features/resources/common.sub.js"></script>
-
-<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
-</head>
-<body>
-<script>
-const tests = generateTests(ResourceType.SHARED_WORKER, true);
-tests.forEach(test => testMap['shared-worker'](test));
-</script>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/websocket-upgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/websocket-upgrade.https.html
deleted file mode 100644
index aa7237d..0000000
--- a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/websocket-upgrade.https.html
+++ /dev/null
@@ -1,25 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<title>Upgrade Insecure Requests: WebSockets.</title>
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script src="./support/testharness-helper.sub.js"></script>
-
-<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
-</head>
-<body>
-<script>
-var tests = [
-  generateURL(Host.SAME_ORIGIN, Protocol.INSECURE, ResourceType.WEBSOCKET),
-  generateURL(Host.SAME_ORIGIN, Protocol.SECURE, ResourceType.WEBSOCKET),
-  generateURL(Host.CROSS_ORIGIN, Protocol.INSECURE, ResourceType.WEBSOCKET),
-  generateURL(Host.CROSS_ORIGIN, Protocol.SECURE, ResourceType.WEBSOCKET),
-];
-
-tests.forEach(test => {
-  async_test(t => assert_websocket_loads(t, test.url), test.name);
-});
-</script>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/worker-redirect-upgrade.https-expected.txt b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/worker-redirect-upgrade.https-expected.txt
deleted file mode 100644
index bc6f2cd3..0000000
--- a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/worker-redirect-upgrade.https-expected.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-This is a testharness.js-based test.
-PASS secure/same-origin => secure/same-origin worker
-FAIL insecure/same-origin => secure/same-origin worker promise_test: Unhandled rejection with value: object "SecurityError: Failed to construct 'Worker': Script at 'http://web-platform.test:8444/upgrade-insecure-requests/support/redirect-cors.py?location=https%3A%2F%2Fweb-platform.test%3A8444%2Fcommon%2Fsecurity-features%2Fsubresource%2Fworker.py' cannot be accessed from origin 'https://web-platform.test:8444'."
-PASS secure/same-origin => insecure/same-origin worker
-FAIL insecure/same-origin => insecure/same-origin worker promise_test: Unhandled rejection with value: object "SecurityError: Failed to construct 'Worker': Script at 'http://web-platform.test:8444/upgrade-insecure-requests/support/redirect-cors.py?location=http%3A%2F%2Fweb-platform.test%3A8444%2Fcommon%2Fsecurity-features%2Fsubresource%2Fworker.py' cannot be accessed from origin 'https://web-platform.test:8444'."
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/worker-redirect-upgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/worker-redirect-upgrade.https.html
deleted file mode 100644
index 8349042..0000000
--- a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/worker-redirect-upgrade.https.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<!-- Generated by wpt/upgrade-insecure-requests/support/generate.py -->
-<title>Upgrade Insecure Requests: worker.</title>
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script src="./support/testharness-helper.sub.js"></script>
-<script src="/common/security-features/resources/common.sub.js"></script>
-
-<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
-</head>
-<body>
-<script>
-const tests = generateRedirectTests(ResourceType.WORKER, true);
-tests.forEach(test => testMap['worker'](test));
-</script>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/worker-subresource-fetch-redirect-upgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/worker-subresource-fetch-redirect-upgrade.https.html
deleted file mode 100644
index 31cec13..0000000
--- a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/worker-subresource-fetch-redirect-upgrade.https.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<!-- Generated by wpt/upgrade-insecure-requests/support/generate.py -->
-<meta name="timeout" content="long">
-<title>Upgrade Insecure Requests: worker-subresource-fetch.</title>
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script src="./support/testharness-helper.sub.js"></script>
-<script src="/common/security-features/resources/common.sub.js"></script>
-
-<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
-</head>
-<body>
-<script>
-const tests = generateRedirectTests(ResourceType.FETCH, false);
-tests.forEach(test => testMap['worker-subresource-fetch'](test));
-</script>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/worker-subresource-fetch-upgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/worker-subresource-fetch-upgrade.https.html
deleted file mode 100644
index e559246..0000000
--- a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/worker-subresource-fetch-upgrade.https.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<!-- Generated by wpt/upgrade-insecure-requests/support/generate.py -->
-<title>Upgrade Insecure Requests: worker-subresource-fetch.</title>
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script src="./support/testharness-helper.sub.js"></script>
-<script src="/common/security-features/resources/common.sub.js"></script>
-
-<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
-</head>
-<body>
-<script>
-const tests = generateTests(ResourceType.FETCH, false);
-tests.forEach(test => testMap['worker-subresource-fetch'](test));
-</script>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/worker-upgrade.https-expected.txt b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/worker-upgrade.https-expected.txt
deleted file mode 100644
index 8195596..0000000
--- a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/worker-upgrade.https-expected.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-This is a testharness.js-based test.
-PASS secure/same-origin worker
-FAIL insecure/same-origin worker promise_test: Unhandled rejection with value: object "SecurityError: Failed to construct 'Worker': Script at 'http://web-platform.test:8444/common/security-features/subresource/worker.py' cannot be accessed from origin 'https://web-platform.test:8444'."
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/worker-upgrade.https.html b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/worker-upgrade.https.html
deleted file mode 100644
index 5a1d583..0000000
--- a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/worker-upgrade.https.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<!-- Generated by wpt/upgrade-insecure-requests/support/generate.py -->
-<title>Upgrade Insecure Requests: worker.</title>
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script src="./support/testharness-helper.sub.js"></script>
-<script src="/common/security-features/resources/common.sub.js"></script>
-
-<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
-</head>
-<body>
-<script>
-const tests = generateTests(ResourceType.WORKER, true);
-tests.forEach(test => testMap['worker'](test));
-</script>
-</body>
-</html>
diff --git a/third_party/blink/web_tests/http/tests/devtools/sources/debugger/network-uisourcecode-provider-expected.txt b/third_party/blink/web_tests/http/tests/devtools/sources/debugger/network-uisourcecode-provider-expected.txt
index 2ebefb56..2751e61 100644
--- a/third_party/blink/web_tests/http/tests/devtools/sources/debugger/network-uisourcecode-provider-expected.txt
+++ b/third_party/blink/web_tests/http/tests/devtools/sources/debugger/network-uisourcecode-provider-expected.txt
@@ -24,7 +24,6 @@
 Highlighter type: text/javascript
 UISourceCode content: var foo=1;
 
-
 Running: testScriptResource
 Creating script resource.
 UISourceCode: http://127.0.0.1:8000/devtools/sources/debugger/resources/script1.js
diff --git a/third_party/freetype/README.chromium b/third_party/freetype/README.chromium
index 0929853..c4b095e 100644
--- a/third_party/freetype/README.chromium
+++ b/third_party/freetype/README.chromium
@@ -1,7 +1,7 @@
 Name: FreeType
 URL: http://www.freetype.org/
-Version: VER-2-10-1-62-g1f4e5bcb1
-Revision: 1f4e5bcb19eaa9170466c8d845edfd11aba54937
+Version: VER-2-10-1-65-g1167bff3e
+Revision: 1167bff3e9a6302687667c6134673e4b3fd13636
 License: Custom license "inspired by the BSD, Artistic, and IJG (Independent
          JPEG Group) licenses"
 License File: src/docs/FTL.TXT
diff --git a/tools/determinism/deterministic_build_whitelist.pyl b/tools/determinism/deterministic_build_whitelist.pyl
index b97b29fd..f5dd573e6 100644
--- a/tools/determinism/deterministic_build_whitelist.pyl
+++ b/tools/determinism/deterministic_build_whitelist.pyl
@@ -38,6 +38,13 @@
     'nacl_test_data/nonsfi/irt_exception_test_pnacl_newlib_x32_nonsfi.nexe',
     'nacl_test_data/nonsfi/irt_manifest_file_pnacl_newlib_x32_nonsfi.nexe',
     'test_data/ppapi/tests/extensions/packaged_app/nonsfi/ppapi_tests_extensions_packaged_app_pnacl_newlib_x32_nonsfi.nexe',
+
+    # https://crbug.com/1008035
+    'nacl_test_data/extension_vcache_test/glibc/extension_validation_cache_libs/lib64/libppapi_cpp_lib.so',

+    'nacl_test_data/glibc/pm_exit_status_test_libs/lib64/libppapi_cpp_lib.so',

+    'nacl_test_data/glibc/simple_libs/lib64/libppapi_cpp_lib.so',

+    'nacl_test_data/glibc/sysconf_nprocessors_onln_test_libs/lib64/libppapi_cpp_lib.so',

+    'ppapi_nacl_tests_libs/lib64/glibc_x64/libppapi_cpp_lib.so',
   ],
 
   # TODO(thakis): Move mac det bots to use two distinct build dirs,
@@ -47,6 +54,10 @@
 
   # https://crbug.com/330260
   'win': [
+    # https://crbug.com/1008035
+    'ppapi_nacl_tests_pnacl_newlib_x32.nexe',
+    'ppapi_nacl_tests_pnacl_newlib_x64.nexe',
+
     # TODO(thakis): Figure out what's up with these three (and their isolate).
     'mini_installer.exe',
     'mini_installer.exe.pdb',
diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums.xml
index 01c5598..bb0eac7e 100644
--- a/tools/metrics/histograms/enums.xml
+++ b/tools/metrics/histograms/enums.xml
@@ -18203,6 +18203,8 @@
   <int value="618" label="DeviceLoginScreenStickyKeysEnabled"/>
   <int value="619" label="DeviceLoginScreenKeyboardFocusHighlightEnabled"/>
   <int value="620" label="ShelfAlignment"/>
+  <int value="621" label="PrintingAllowedBackgroundGraphicsModes"/>
+  <int value="622" label="PrintingBackgroundGraphicsDefault"/>
 </enum>
 
 <enum name="EnterprisePolicyInvalidations">
@@ -24853,6 +24855,7 @@
   <int value="3042" label="FragmentHasAmpersandDelimiterQuestion"/>
   <int value="3043" label="InvalidFragmentDirective"/>
   <int value="3044" label="ContactsManagerGetProperties"/>
+  <int value="3045" label="EvaluateScriptMovedBetweenElementDocuments"/>
 </enum>
 
 <enum name="FeaturePolicyAllowlistType">
diff --git a/ui/accessibility/ax_node.cc b/ui/accessibility/ax_node.cc
index 3f0b2b2..674dcc0 100644
--- a/ui/accessibility/ax_node.cc
+++ b/ui/accessibility/ax_node.cc
@@ -18,6 +18,8 @@
 
 namespace ui {
 
+constexpr AXNode::AXID AXNode::kInvalidAXID;
+
 AXNode::AXNode(AXNode::OwnerTree* tree,
                AXNode* parent,
                int32_t id,
diff --git a/ui/accessibility/ax_tree_data.cc b/ui/accessibility/ax_tree_data.cc
index 7380fe3..047d5c3 100644
--- a/ui/accessibility/ax_tree_data.cc
+++ b/ui/accessibility/ax_tree_data.cc
@@ -34,7 +34,7 @@
     result += " doctype=" + doctype;
   if (loaded)
     result += " loaded=true";
-  if (loading_progress != 0.0)
+  if (loading_progress != 0.0f)
     result += " loading_progress=" + base::NumberToString(loading_progress);
   if (!mimetype.empty())
     result += " mimetype=" + mimetype;
@@ -43,10 +43,10 @@
   if (!title.empty())
     result += " title=" + title;
 
-  if (focus_id != -1)
+  if (focus_id != AXNode::kInvalidAXID)
     result += " focus_id=" + base::NumberToString(focus_id);
 
-  if (sel_anchor_object_id != -1) {
+  if (sel_anchor_object_id != AXNode::kInvalidAXID) {
     result +=
         (sel_is_backward ? " sel_is_backward=true" : " sel_is_backward=false");
     result +=
@@ -55,7 +55,7 @@
     result += " sel_anchor_affinity=";
     result += ui::ToString(sel_anchor_affinity);
   }
-  if (sel_focus_object_id != -1) {
+  if (sel_focus_object_id != AXNode::kInvalidAXID) {
     result +=
         " sel_focus_object_id=" + base::NumberToString(sel_focus_object_id);
     result += " sel_focus_offset=" + base::NumberToString(sel_focus_offset);
diff --git a/ui/accessibility/ax_tree_data.h b/ui/accessibility/ax_tree_data.h
index a2268da..2968a6c 100644
--- a/ui/accessibility/ax_tree_data.h
+++ b/ui/accessibility/ax_tree_data.h
@@ -15,6 +15,7 @@
 #include "base/strings/string_split.h"
 #include "ui/accessibility/ax_enums.mojom-forward.h"
 #include "ui/accessibility/ax_export.h"
+#include "ui/accessibility/ax_node.h"
 #include "ui/accessibility/ax_tree_id_registry.h"
 #include "ui/gfx/geometry/rect.h"
 
@@ -46,14 +47,14 @@
   // Attributes specific to trees that are web frames.
   std::string doctype;
   bool loaded = false;
-  float loading_progress = 0.0;
+  float loading_progress = 0.0f;
   std::string mimetype;
   std::string title;
   std::string url;
 
-  // The node with keyboard focus within this tree, if any, or -1 if no node
-  // in this tree has focus.
-  int32_t focus_id = -1;
+  // The node with keyboard focus within this tree, if any, or
+  // AXNode::kInvalidAXID if no node in this tree has focus.
+  AXNode::AXID focus_id = AXNode::kInvalidAXID;
 
   // The current text selection within this tree, if any, expressed as the
   // node ID and character offset of the anchor (selection start) and focus
@@ -62,11 +63,11 @@
   // line, otherwise it's on the second line.
   // Most use cases will want to use ui::OwnerTree::GetUnignoredSelection.
   bool sel_is_backward = false;
-  int32_t sel_anchor_object_id = -1;
+  AXNode::AXID sel_anchor_object_id = AXNode::kInvalidAXID;
   int32_t sel_anchor_offset = -1;
   ax::mojom::TextAffinity sel_anchor_affinity =
       ax::mojom::TextAffinity::kUpstream;
-  int32_t sel_focus_object_id = -1;
+  AXNode::AXID sel_focus_object_id = AXNode::kInvalidAXID;
   int32_t sel_focus_offset = -1;
   ax::mojom::TextAffinity sel_focus_affinity =
       ax::mojom::TextAffinity::kDownstream;
diff --git a/ui/accessibility/ax_tree_unittest.cc b/ui/accessibility/ax_tree_unittest.cc
index 4990d87..bdb04492 100644
--- a/ui/accessibility/ax_tree_unittest.cc
+++ b/ui/accessibility/ax_tree_unittest.cc
@@ -2376,9 +2376,9 @@
   AXNodePosition::SetTree(&tree);
   AXTree::Selection unignored_selection = tree.GetUnignoredSelection();
 
-  EXPECT_EQ(-1, unignored_selection.anchor_object_id);
+  EXPECT_EQ(AXNode::kInvalidAXID, unignored_selection.anchor_object_id);
   EXPECT_EQ(-1, unignored_selection.anchor_offset);
-  EXPECT_EQ(-1, unignored_selection.focus_object_id);
+  EXPECT_EQ(AXNode::kInvalidAXID, unignored_selection.focus_object_id);
   EXPECT_EQ(-1, unignored_selection.focus_offset);
   struct SelectionData {
     int32_t anchor_id;
diff --git a/ui/views/accessibility/ax_aura_obj_cache.cc b/ui/views/accessibility/ax_aura_obj_cache.cc
index 8f15d55..0e90ea2a 100644
--- a/ui/views/accessibility/ax_aura_obj_cache.cc
+++ b/ui/views/accessibility/ax_aura_obj_cache.cc
@@ -7,6 +7,7 @@
 #include "base/no_destructor.h"
 #include "base/strings/string_util.h"
 #include "ui/accessibility/ax_enums.mojom.h"
+#include "ui/accessibility/ax_node.h"
 #include "ui/aura/client/aura_constants.h"
 #include "ui/aura/client/focus_client.h"
 #include "ui/aura/window.h"
@@ -222,10 +223,11 @@
     AuraView* aura_view,
     const std::map<AuraView*, int32_t>& aura_view_to_id_map) const {
   if (!aura_view)
-    return -1;
+    return ui::AXNode::kInvalidAXID;
 
   auto it = aura_view_to_id_map.find(aura_view);
-  return it != aura_view_to_id_map.end() ? it->second : -1;
+  return it != aura_view_to_id_map.end() ? it->second
+                                         : ui::AXNode::kInvalidAXID;
 }
 
 template <typename AuraView>
@@ -233,7 +235,7 @@
     AuraView* aura_view,
     std::map<AuraView*, int32_t>& aura_view_to_id_map) {
   int32_t id = GetID(aura_view);
-  if (id == -1)
+  if (id == ui::AXNode::kInvalidAXID)
     return;
   aura_view_to_id_map.erase(aura_view);
   cache_.erase(id);
diff --git a/ui/views/accessibility/ax_aura_obj_cache_unittest.cc b/ui/views/accessibility/ax_aura_obj_cache_unittest.cc
index 8d622dd..073a056 100644
--- a/ui/views/accessibility/ax_aura_obj_cache_unittest.cc
+++ b/ui/views/accessibility/ax_aura_obj_cache_unittest.cc
@@ -6,6 +6,7 @@
 
 #include "base/strings/utf_string_conversions.h"
 #include "ui/accessibility/ax_enums.mojom.h"
+#include "ui/accessibility/ax_node.h"
 #include "ui/accessibility/ax_node_data.h"
 #include "ui/accessibility/ax_tree.h"
 #include "ui/accessibility/ax_tree_serializer.h"
@@ -73,8 +74,8 @@
   // from the cache, but leave the widget.
   widget->GetRootView()->RemoveChildView(parent);
   ASSERT_GT(cache.GetID(widget.get()), 0);
-  ASSERT_EQ(-1, cache.GetID(parent));
-  ASSERT_EQ(-1, cache.GetID(child));
+  ASSERT_EQ(ui::AXNode::kInvalidAXID, cache.GetID(parent));
+  ASSERT_EQ(ui::AXNode::kInvalidAXID, cache.GetID(child));
 
   // Explicitly delete |parent| to prevent a memory leak, since calling
   // RemoveChildView() doesn't delete it.
diff --git a/ui/views/accessibility/ax_view_obj_wrapper.cc b/ui/views/accessibility/ax_view_obj_wrapper.cc
index 3c6d18ba..4ebb23f 100644
--- a/ui/views/accessibility/ax_view_obj_wrapper.cc
+++ b/ui/views/accessibility/ax_view_obj_wrapper.cc
@@ -88,7 +88,8 @@
 }
 
 int32_t AXViewObjWrapper::GetUniqueId() const {
-  return view_ ? view_->GetViewAccessibility().GetUniqueId() : -1;
+  return view_ ? view_->GetViewAccessibility().GetUniqueId()
+               : ui::AXNode::kInvalidAXID;
 }
 
 bool AXViewObjWrapper::HandleAccessibleAction(const ui::AXActionData& action) {
diff --git a/ui/views/controls/button/checkbox.cc b/ui/views/controls/button/checkbox.cc
index affe2c7..485b881 100644
--- a/ui/views/controls/button/checkbox.cc
+++ b/ui/views/controls/button/checkbox.cc
@@ -21,6 +21,7 @@
 #include "ui/views/animation/ink_drop_ripple.h"
 #include "ui/views/controls/button/label_button_border.h"
 #include "ui/views/controls/focus_ring.h"
+#include "ui/views/controls/highlight_path_generator.h"
 #include "ui/views/layout/layout_provider.h"
 #include "ui/views/metadata/metadata_impl_macros.h"
 #include "ui/views/painter.h"
@@ -31,6 +32,18 @@
 
 namespace views {
 
+class Checkbox::FocusRingHighlightPathGenerator
+    : public views::HighlightPathGenerator {
+ public:
+  SkPath GetHighlightPath(const views::View* view) override {
+    SkPath path;
+    auto* checkbox = static_cast<const views::Checkbox*>(view);
+    if (checkbox->image()->bounds().IsEmpty())
+      return path;
+    return checkbox->GetFocusRingPath();
+  }
+};
+
 Checkbox::Checkbox(const base::string16& label, ButtonListener* listener)
     : LabelButton(listener, label), checked_(false), label_ax_id_(0) {
   SetHorizontalAlignment(gfx::ALIGN_LEFT);
@@ -155,12 +168,6 @@
   return border;
 }
 
-void Checkbox::Layout() {
-  LabelButton::Layout();
-  if (focus_ring() && !image()->bounds().IsEmpty())
-    focus_ring()->SetPath(GetFocusRingPath());
-}
-
 SkPath Checkbox::GetFocusRingPath() const {
   SkPath path;
   gfx::Rect bounds = image()->GetMirroredBounds();
diff --git a/ui/views/controls/button/checkbox.h b/ui/views/controls/button/checkbox.h
index 47b500e..7135850 100644
--- a/ui/views/controls/button/checkbox.h
+++ b/ui/views/controls/button/checkbox.h
@@ -56,7 +56,6 @@
   SkColor GetInkDropBaseColor() const override;
   gfx::ImageSkia GetImage(ButtonState for_state) const override;
   std::unique_ptr<LabelButtonBorder> CreateDefaultBorder() const override;
-  void Layout() override;
 
   // Gets the vector icon to use based on the current state of |checked_|.
   virtual const gfx::VectorIcon& GetVectorIcon() const;
@@ -65,7 +64,7 @@
   virtual SkPath GetFocusRingPath() const;
 
  private:
-  friend class IconFocusRing;
+  class FocusRingHighlightPathGenerator;
 
   // Bitmask constants for GetIconImageColor.
   enum IconState { CHECKED = 0b1, ENABLED = 0b10 };
diff --git a/ui/views/controls/focus_ring.cc b/ui/views/controls/focus_ring.cc
index 51cff7c..1b590ad 100644
--- a/ui/views/controls/focus_ring.cc
+++ b/ui/views/controls/focus_ring.cc
@@ -14,6 +14,11 @@
 
 namespace {
 
+bool IsPathUsable(const SkPath& path) {
+  return !path.isEmpty() && (path.isRect(nullptr) || path.isOval(nullptr) ||
+                             path.isRRect(nullptr));
+}
+
 ui::NativeTheme::ColorId ColorIdForValidity(bool valid) {
   return valid ? ui::NativeTheme::kColorId_FocusedBorderColor
                : ui::NativeTheme::kColorId_AlertSeverityHigh;
@@ -27,6 +32,7 @@
 SkPath GetHighlightPathInternal(const View* view) {
   HighlightPathGenerator* path_generator =
       view->GetProperty(kHighlightPathGeneratorKey);
+
   if (path_generator)
     return path_generator->GetHighlightPath(view);
 
@@ -36,10 +42,8 @@
     return *highlight_path;
 
   const double corner_radius = GetCornerRadius();
-  SkPath path;
-  path.addRRect(SkRRect::MakeRectXY(RectToSkRect(view->GetLocalBounds()),
-                                    corner_radius, corner_radius));
-  return path;
+  return SkPath().addRRect(SkRRect::MakeRectXY(
+      RectToSkRect(view->GetLocalBounds()), corner_radius, corner_radius));
 }
 
 }  // namespace
@@ -54,14 +58,9 @@
   return ring;
 }
 
-// static
-bool FocusRing::IsPathUseable(const SkPath& path) {
-  return !path.isEmpty() && (path.isRect(nullptr) || path.isOval(nullptr) ||
-                             path.isRRect(nullptr));
-}
-
-void FocusRing::SetPath(const SkPath& path) {
-  path_ = IsPathUseable(path) ? path : SkPath();
+void FocusRing::SetPathGenerator(
+    std::unique_ptr<HighlightPathGenerator> generator) {
+  path_generator_ = std::move(generator);
   SchedulePaint();
 }
 
@@ -119,13 +118,16 @@
   paint.setStyle(cc::PaintFlags::kStroke_Style);
   paint.setStrokeWidth(PlatformStyle::kFocusHaloThickness);
 
-  SkPath path = path_;
-  // Focus rings flip the canvas if RTL is enabled for it's parent, so
-  // we need to always get non-mirrored highlight path for focus rings.
-  if (path.isEmpty())
+  SkPath path;
+  if (path_generator_)
+    path = path_generator_->GetHighlightPath(parent());
+
+  // If there's no path generator or the generated path is unusable, fall back
+  // to the default.
+  if (!IsPathUsable(path))
     path = GetHighlightPathInternal(parent());
 
-  DCHECK(IsPathUseable(path));
+  DCHECK(IsPathUsable(path));
   DCHECK_EQ(flip_canvas_on_paint_for_rtl_ui(),
             parent()->flip_canvas_on_paint_for_rtl_ui());
   SkRect bounds;
diff --git a/ui/views/controls/focus_ring.h b/ui/views/controls/focus_ring.h
index 561e8ec..b54c8e39 100644
--- a/ui/views/controls/focus_ring.h
+++ b/ui/views/controls/focus_ring.h
@@ -14,6 +14,8 @@
 
 namespace views {
 
+class HighlightPathGenerator;
+
 // FocusRing is a View that is designed to act as an indicator of focus for its
 // parent. It is a stand-alone view that paints to a layer which extends beyond
 // the bounds of its parent view.
@@ -48,20 +50,12 @@
   // |parent|.
   static std::unique_ptr<FocusRing> Install(View* parent);
 
-  // Returns whether this class can draw a focus ring from |path|. Not all paths
-  // are useable since not all paths can be easily outset. If a FocusRing is
-  // configured to use an unuseable path, it will fall back to the default focus
-  // ring path.
-  static bool IsPathUseable(const SkPath& path);
-
-  // Sets the path to draw this FocusRing around. This path is in the parent
-  // view's coordinate system, *not* in the FocusRing's coordinate system. Note
-  // that this path will not be mirrored in RTL, so your View's computation of
-  // it should take RTL into account.
+  // Sets the HighlightPathGenerator to draw this FocusRing around.
   // Note: This method should only be used if the focus ring needs to differ
-  // from the highlight shape used for inkdrops. Otherwise set kHighlightPathKey
-  // on the parent and FocusRing will use it as well.
-  void SetPath(const SkPath& path);
+  // from the highlight shape used for InkDrops.
+  // Otherwise install a HighlightPathGenerator on the parent and FocusRing will
+  // use it as well.
+  void SetPathGenerator(std::unique_ptr<HighlightPathGenerator> generator);
 
   // Sets whether the FocusRing should show an invalid state for the View it
   // encloses.
@@ -97,9 +91,8 @@
   SkRRect RingRectFromPathRect(const SkRect& rect) const;
   SkRRect RingRectFromPathRect(const SkRRect& rect) const;
 
-  // The path to draw this focus ring around. IsPathUseable(path_) is always
-  // true.
-  SkPath path_;
+  // The path generator used to draw this focus ring.
+  std::unique_ptr<HighlightPathGenerator> path_generator_;
 
   // Whether the enclosed View is in an invalid state, which controls whether
   // the focus ring shows an invalid appearance (usually a different color).
diff --git a/ui/views/controls/highlight_path_generator.cc b/ui/views/controls/highlight_path_generator.cc
index 29a4002..d1f5594 100644
--- a/ui/views/controls/highlight_path_generator.cc
+++ b/ui/views/controls/highlight_path_generator.cc
@@ -20,9 +20,7 @@
 }
 
 SkPath RectHighlightPathGenerator::GetHighlightPath(const View* view) {
-  SkPath path;
-  path.addRect(gfx::RectToSkRect(view->GetLocalBounds()));
-  return path;
+  return SkPath().addRect(gfx::RectToSkRect(view->GetLocalBounds()));
 }
 
 void InstallRectHighlightPathGenerator(View* view) {
@@ -34,9 +32,7 @@
   const SkRect rect = gfx::RectToSkRect(view->GetLocalBounds());
   const SkScalar radius = SkScalarHalf(std::min(rect.width(), rect.height()));
 
-  SkPath path;
-  path.addCircle(rect.centerX(), rect.centerY(), radius);
-  return path;
+  return SkPath().addCircle(rect.centerX(), rect.centerY(), radius);
 }
 
 void InstallCircleHighlightPathGenerator(View* view) {
@@ -44,4 +40,17 @@
       view, std::make_unique<CircleHighlightPathGenerator>());
 }
 
+SkPath PillHighlightPathGenerator::GetHighlightPath(const View* view) {
+  const SkRect rect = gfx::RectToSkRect(view->GetLocalBounds());
+  const SkScalar radius = SkScalarHalf(std::min(rect.width(), rect.height()));
+
+  return SkPath().addRoundRect(gfx::RectToSkRect(view->GetLocalBounds()),
+                               radius, radius);
+}
+
+void InstallPillHighlightPathGenerator(View* view) {
+  HighlightPathGenerator::Install(
+      view, std::make_unique<PillHighlightPathGenerator>());
+}
+
 }  // namespace views
diff --git a/ui/views/controls/highlight_path_generator.h b/ui/views/controls/highlight_path_generator.h
index abb72b1..042d2fc 100644
--- a/ui/views/controls/highlight_path_generator.h
+++ b/ui/views/controls/highlight_path_generator.h
@@ -62,6 +62,21 @@
 
 void VIEWS_EXPORT InstallCircleHighlightPathGenerator(View* view);
 
+// Sets a pill-shaped highlight path.
+class VIEWS_EXPORT PillHighlightPathGenerator : public HighlightPathGenerator {
+ public:
+  PillHighlightPathGenerator() = default;
+
+  PillHighlightPathGenerator(const PillHighlightPathGenerator&) = delete;
+  PillHighlightPathGenerator& operator=(const PillHighlightPathGenerator&) =
+      delete;
+
+  // HighlightPathGenerator:
+  SkPath GetHighlightPath(const View* view) override;
+};
+
+void VIEWS_EXPORT InstallPillHighlightPathGenerator(View* view);
+
 }  // namespace views
 
 #endif  // UI_VIEWS_CONTROLS_HIGHLIGHT_PATH_GENERATOR_H_
diff --git a/ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc b/ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc
index c93c1074..bd59f48 100644
--- a/ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc
+++ b/ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc
@@ -528,10 +528,12 @@
   }
   platform_window()->SetUseNativeFrame(new_type ==
                                        Widget::FrameType::kForceNative);
+
   // Replace the frame and layout the contents. Even though we don't have a
   // swappable glass frame like on Windows, we still replace the frame because
   // the button assets don't update otherwise.
-  native_widget_delegate_->AsWidget()->non_client_view()->UpdateFrame();
+  if (GetWidget()->non_client_view())
+    GetWidget()->non_client_view()->UpdateFrame();
 }
 
 void DesktopWindowTreeHostPlatform::SetFullscreen(bool fullscreen) {
diff --git a/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc b/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc
index c8656d6..ea06b2a 100644
--- a/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc
+++ b/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc
@@ -254,25 +254,6 @@
   // Much like the previous NativeWidgetGtk, we don't have anything to do here.
 }
 
-void DesktopWindowTreeHostX11::FrameTypeChanged() {
-  Widget::FrameType new_type =
-      native_widget_delegate()->AsWidget()->frame_type();
-  if (new_type == Widget::FrameType::kDefault) {
-    // The default is determined by Widget::InitParams::remove_standard_frame
-    // and does not change.
-    return;
-  }
-  // Avoid mutating |View::children_| while possibly iterating over them.
-  // See View::PropagateNativeThemeChanged().
-  // TODO(varkha, sadrul): Investigate removing this (and instead expecting the
-  // NonClientView::UpdateFrame() to update the frame-view when theme changes,
-  // like all other views).
-  base::ThreadTaskRunnerHandle::Get()->PostTask(
-      FROM_HERE,
-      base::BindOnce(&DesktopWindowTreeHostX11::DelayedChangeFrameType,
-                     weak_factory_.GetWeakPtr(), new_type));
-}
-
 void DesktopWindowTreeHostX11::SetOpacity(float opacity) {
   GetXWindow()->SetOpacity(opacity);
 }
@@ -324,10 +305,6 @@
 ////////////////////////////////////////////////////////////////////////////////
 // DesktopWindowTreeHostX11, private:
 
-void DesktopWindowTreeHostX11::SetUseNativeFrame(bool use_native_frame) {
-  GetXWindow()->SetUseNativeFrame(use_native_frame);
-}
-
 std::list<gfx::AcceleratedWidget>& DesktopWindowTreeHostX11::open_windows() {
   if (!open_windows_)
     open_windows_ = new std::list<gfx::AcceleratedWidget>();
@@ -337,14 +314,6 @@
 ////////////////////////////////////////////////////////////////////////////////
 // DesktopWindowTreeHostX11 implementation:
 
-void DesktopWindowTreeHostX11::DelayedChangeFrameType(Widget::FrameType type) {
-  SetUseNativeFrame(type == Widget::FrameType::kForceNative);
-  // Replace the frame and layout the contents. Even though we don't have a
-  // swappable glass frame like on Windows, we still replace the frame because
-  // the button assets don't update otherwise.
-  native_widget_delegate()->AsWidget()->non_client_view()->UpdateFrame();
-}
-
 base::OnceClosure DesktopWindowTreeHostX11::DisableEventListening() {
   // Allows to open multiple file-pickers. See https://crbug.com/678982
   modal_dialog_counter_++;
diff --git a/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h b/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h
index 998611e5..80ae10e 100644
--- a/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h
+++ b/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h
@@ -98,7 +98,6 @@
       Widget::MoveLoopEscapeBehavior escape_behavior) override;
   void EndMoveLoop() override;
   void SetVisibilityChangedAnimationsEnabled(bool value) override;
-  void FrameTypeChanged() override;
   void SetOpacity(float opacity) override;
   void SetAspectRatio(const gfx::SizeF& aspect_ratio) override;
   void SetWindowIcons(const gfx::ImageSkia& window_icon,
@@ -113,14 +112,9 @@
  private:
   friend class DesktopWindowTreeHostX11HighDPITest;
 
-  // Sets whether the window's borders are provided by the window manager.
-  void SetUseNativeFrame(bool use_native_frame);
-
   // See comment for variable open_windows_.
   static std::list<XID>& open_windows();
 
-  void DelayedChangeFrameType(Widget::FrameType new_type);
-
   // Enables event listening after closing |dialog|.
   void EnableEventListening();